On 11/22/22 10:22, Richard Biener wrote: > On Tue, Nov 22, 2022 at 10:04 AM Aldy Hernandez wrote: >> >> >> >> On 11/22/22 09:25, Richard Biener wrote: >>> On Tue, Nov 22, 2022 at 9:24 AM Richard Biener >>> wrote: >>>> >>>> On Mon, Nov 21, 2022 at 5:49 PM Jeff Law wrote: >>>>> >>>>> >>>>> On 11/21/22 09:35, Aldy Hernandez via Gcc-patches wrote: >>>>>> I've been playing around with removing the legacy VRP code for the >>>>>> next release. It's a layered onion to get this right, but the first >>>>>> bit is pretty straightforward and may be useful for this release. >>>>>> Basically, it entails removing the old VRP pass itself, along with >>>>>> value_range_equiv which have no producers left. The current users of >>>>>> value_range_equiv don't put anything in the equivalence bitmaps, so >>>>>> they're basically behaving like plain value_range. >>>>>> >>>>>> I removed as much as possible without having to change any behavior, >>>>>> and this is what I came up with. Is this something that would be >>>>>> useful for this release? Would it help release managers have less >>>>>> unused cruft in the tree? >>>>>> >>>>>> Neither Andrew nor I have any strong feelings here. We don't foresee >>>>>> the legacy code changing at all in the offseason, so we can just >>>>>> accumulate these patches in local trees. >>>>> >>>>> I'd lean towards removal after gcc-13 releases. >>>> >>>> I think removing the ability to switch to the old implementation easens >>>> maintainance so I'd prefer to have this before the gcc-13 release. >>>> >>>> So please go ahead. >>> >>> Btw, ASSERT_EXPR should also go away with this, no? >> >> Ah yes, for everything except ipa-*.* which uses it internally (and sets >> it in its internal structures): >> >> - ASSERT_EXPR means that only the value in operand is allowed to >> pass >> through (without any change), for all other values the result is >> unknown. > > Ick. But yeah, I can see how 'ASSERT_EXPR' looked nice to use here > (but it's only a distinct value, so TARGET_OPTION_NODE would have > worked here as well) > >> I can remove all other uses, including any externally visible documentation. > > Works for me. Documented and added change log entries. Retested on x86-64 Linux. There are three follow-up patches removing ASSERT_EXPR which I'll post shortly. OK for trunk? Aldy