On Fri, 20 May 2022, Richard Biener wrote: > On Fri, May 20, 2022 at 8:38 AM Alexander Monakov <amona...@ispras.ru> wrote: > > > > On Fri, 20 May 2022, Richard Biener via Gcc-patches wrote: > > > > > > Still waiting for a suggestion, since "side effect" is the description > > > > that made sense to me :-) > > > > > > I think side-effect captures it quite well even if it overlaps with a term > > > used in language standards. Doing c = a << b has the side-effect on > > > imposing a range on 'b' rather than just affecting 'c' (and its range). > > > You could call it 'alternate effect' but that sounds just awkward ;) > > > > I suggest 'deduce', 'deduction', 'deducing a range'. What the code is > > actually > > doing is deducing that 'b' in 'a / b' cannot be zero. Function in GCC might > > be > > called like 'deduce_ranges_from_stmt'. > > So how would you call determining the range of 'c' from the ranges of > 'a' and 'b', isn't that 'deduction' as well?
Kind of, yes, but for this sort of forward inference I imagine you're already using 'propagate [ranges through a stmt]', like in 'value range propagation'. If you'd like to avoid 'propagate'/'deduce' asymmetry, I could suggest 'forward inference' / 'backward inference', but I like it a bit less. Alexander