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