On Mon, Mar 31, 2008 at 8:36 PM, Chris Cox <ccox@[EMAIL PROTECTED]
> wrote:
> if (x == 1 && y == 2)
> z = 300 / (x + y)
> ==>
> if (x == 1 && y == 2)
> z = 100
In GCC we call it VRP, value range propagation.
It falls out of the singularity that happens when you have ranges
where min == max: In this case, inside the then clause of that if(),
the range for x is [1, 1], the range for y is [2, 2]. After
propagation, GCC substitutes x with 1, y with 2 and the folders do the
rest.
Diego.


|