On Wed, Nov 23, 2011 at 8:05 PM, Jiangning Liu <[email protected]> wrote:
> If this is the root cause, which optimization pass in GCC take the role to
> sink them out of loop? How should we get it fixed?
lim1 handles the case just fine for me. lim1 is the first loop pass.
After lim1 I get:
<bb 4>:
# i.1_34 = PHI <i.6_18(9), k.0_9(7)>
D.2934_5 = pretmp.11_33;
D.2936_7 = i.1_34 + D.2934_5;
a_p.2_8 = &a[D.2936_7];
a_p_lsm.13_37 = a_p.2_8;
b_p.3_13 = &b[D.2936_7];
b_p_lsm.14_38 = b_p.3_13;
MEM[(int *)&a][D.2936_7] = 7;
MEM[(int *)&b][D.2936_7] = 7;
i.6_18 = k.0_9 + i.1_34;
i_lsm.12_39 = i.6_18;
if (i.6_18 <= 511)
goto <bb 9>;
else
goto <bb 8>;
<bb 9>:
goto <bb 4>;
Thanks,
Andrew Pinski