[Bug tree-optimization/17552] [4.0 Regression] Infinite recursion in analyze_scalar_evolution
sebastian dot pop at cri dot ensmp dot fr
gcc-bugzilla@gcc.gnu.org
Fri Oct 8 12:24:00 GMT 2004
------- Additional Comments From sebastian dot pop at cri dot ensmp dot fr 2004-10-08 12:24 -------
Subject: Re: [4.0 Regression] Infinite recursion in analyze_scalar_evolution
Same problem as in PR17560: there is a recursive definition outside
any loop, "j_12 -> j_11 -> j_8 -> j_12". Here is the IR with loop
structures that scev has to analyze.
loop_0
{
bb_0 (preds = {bb_-1}, succs = {bb_0bb_0})
{
<bb 0>:
if (k_3 > i_4) goto <L0>; else goto <L8>;
}
bb_1 (preds = {bb_0}, succs = {bb_1bb_1})
{
<L0>:;
if (i_4 != 0) goto <L1>; else goto <L3>;
}
bb_2 (preds = {bb_1}, succs = {bb_2})
{
<L1>:;
j_9 = i_4 + 1;
goto <bb 4> (<L4>);
}
bb_3 (preds = {bb_1bb_4}, succs = {bb_3})
{
# j_12 = PHI <i_4(1), j_11(4)>;
<L3>:;
j_8 = j_12 + 1;
}
bb_4 (preds = {bb_2bb_3}, succs = {bb_4bb_4})
{
# j_11 = PHI <j_9(2), j_8(3)>;
<L4>:;
if (k_3 >= j_11) goto <L3>; else goto <L7>;
}
bb_7 (preds = {bb_6bb_0}, succs = {bb_7})
{
<L8>:;
return;
}
loop_1
{
bb_5 (preds = {bb_6}, succs = {bb_5})
{
<L6>:;
k_7 = k_1 + 1;
}
bb_6 (preds = {bb_4bb_5}, succs = {bb_6bb_6})
{
# k_1 = PHI <i_4(4), k_7(5)>;
<L7>:;
if (k_1 < j_11) goto <L6>; else goto <L8>;
}
}
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17552
More information about the Gcc-bugs
mailing list