On Fri, 20 May 2022, Richard Biener wrote: > > > > 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. > > Hmm, maybe "guarantees" - if the stmt executed (without traps) then > it's guaranteed that the divisor isn't zero. I've almost said 'assertions' > but then asserts also have separate meanings, not to mention ASSERT_EXPR > as currently used by the old-style VRP.
I feel the word 'assumptions' captures that nicely. Alexander