Hi,

> I'll try to explain what my intention with the code is, by looking at a
> pre-ivopt level example.
> 
> <bb 2>:
>   p_5 = p_3(D) + i_4(D);
> 
> <bb 3>:
>   # p_1 = PHI <p_5(2), p_6(4)>
>   # i_2 = PHI <i_4(D)(2), i_7(4)>
>   *p_1 = 0;
>   p_6 = p_1 + 1;
>   i_7 = i_2 + 1;
>   if (i_7 < n_8(D))
>     goto <bb 4>;
>   else
>     goto <bb 5>;
> 
> <bb 4>:
>   goto <bb 3>;
> 
> <bb 5>:
>   return;
> 
> In this example, I try to analyze whether it is safe to replace
>   i_7 < n_8
> by
>   p_6 < p_3 + n_8.

hmmm... is it actually safe?  What if n_8 is negative, and p_3 + n_8
overflows?

Zdenek

Reply via email to