On Thu, 13 Jul 2017, Marc Glisse wrote: > I notice that we do not turn (X*10)*10 into X*100 in GIMPLE.
Sorry, could you clarify what you mean here? I think we certainly do that, just not via match.pd, but in 'associate:' case of fold_binary_loc. > Relying on inner expressions being folded can be slightly dangerous, > especially for generic IIRC. It seems easy enough to check that @1 is neither > 0 nor -1 for safety. I wanted to add a gcc_checking_assert to that effect, but it's not used in match.pd anywhere. Is there a nice way to do that? Thanks! Alexander