2010/1/6 Jeff Law <[email protected]>:
> Please file a bug report with a complete testcase so that we can see what's
> happening rather than trying to speculate.
>
> jeff
>
Uh, seems this problem doesn't occur on trunk. Because before
pass_dominator, pass_complete_unrolli is able to unroll the following
test case.
void
foo (int x)
{
int i;
for (i=0; i < 2 ; i++)
if (x)
{
if (i == 0)
fun_1 ();
else
fun_2 ();
}
}
I found this problem on gcc-4.4.0. The pass_complete_unrolli doesn't
unroll this loop, but if -fno-tree-dominator-opts is applied,
pass_complete_unroll is able to unroll it.
And pass_dominator does cause the loop's exit bb never dominate its latch bb.
Thanks
Eirc