This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: --disable-checking bootstrap failure
On Monday 13 September 2004 15:41, Daniel Jacobowitz wrote:
> On Mon, Sep 13, 2004 at 08:35:26AM -0400, Diego Novillo wrote:
> > On Fri, 2004-09-10 at 12:24, Nathan Sidwell wrote:
> > > It's getting to the end of the day here, and I'm going to have another
> > > learning curve figuring out where to look next. anyone want to help?
> >
> > I'm looking at this failure today. Have any other details?
>
> I ran into one of the reported symptoms overnight and reduced it. The
> attached is a testcase reduced from tree-cfg.c. When built using
> stage1, or a bootstrapped --enable-checking compiler, it reduces to an
> infinite loop. It appears that the compiler decides that tsi_next does
> not change the result value of bsi_stmt.
>
> Compile like so on i686-pc-linux-gnu:
> stage1/xgcc -Bstage1/ -c -g -O2 -w tree-cfg2.c -o tmp-tree-cfg.o
The infinite loop is introduced in DOM2.
We go from this in copyrename2:
# BLOCK 5
# PRED: 16 [50.0%] (true) 6 [89.0%] (dfs_back,true)
# TMT.7D.1695_41 = PHI <TMT.7D.1695_44(16), TMT.7D.1695_40(6)>;
<L8>:;
iD.1645_60 = &bsiD.1570_9->tsiD.1498;
# VUSE <TMT.7D.1695_41>;
D.1647_62 = iD.1645_60->ptrD.1494;
# VUSE <TMT.6D.1694_87>;
D.1648_63 = D.1647_62->nextD.1471;
# TMT.7D.1695_91 = V_MAY_DEF <TMT.7D.1695_41>;
iD.1645_60->ptrD.1494 = D.1648_63;
# VUSE <ENTRY_BLOCK_PTRD.1493_19>;
i$bbD.1711_101 = bsiD.1570_9->bbD.1499;
# VUSE <ENTRY_BLOCK_PTRD.1493_19>;
i$containerD.1713_102 = bsiD.1570_9->tsiD.1498.containerD.1495;
# VUSE <ENTRY_BLOCK_PTRD.1493_19>;
i$ptrD.1712_103 = bsiD.1570_9->tsiD.1498.ptrD.1494;
i$containerD.1713_104 = i$containerD.1713_102;
i$ptrD.1712_105 = i$ptrD.1712_103;
i$ptrD.1712_66 = i$ptrD.1712_105;
# VUSE <TMT.6D.1694_87>;
tmpD.1576_67 = i$ptrD.1712_66->stmtD.1472;
# SUCC: 6 [100.0%] (fallthru)
# BLOCK 6
# PRED: 5 [100.0%] (fallthru)
# TMT.7D.1695_40 = PHI <TMT.7D.1695_91(5)>;
# tmpD.1576_39 = PHI <tmpD.1576_67(5)>;
<L11>:;
# VUSE <TMT.4D.1692_89>;
D.1583_51 = tmpD.1576_39->commonD.1475.codeD.1473;
if (D.1583_51 == 0) goto <L8>; else goto <L12>;
# SUCC: 7 [11.0%] (loop_exit,false) 5 [89.0%] (dfs_back,true)
to this:
# BLOCK 5
# PRED: 16 [50.0%] (true) 6 [100.0%] (fallthru)
Invalid sum of incoming frequencies 11100, should be 10000
# TMT.7D.1695_41 = PHI <TMT.7D.1695_88(16), TMT.7D.1695_91(6)>;
<L8>:;
iD.1645_60 = &bsiD.1570_9->tsiD.1498;
# VUSE <TMT.7D.1695_41>;
D.1647_62 = iD.1645_60->ptrD.1494;
# VUSE <TMT.6D.1694_87>;
D.1648_63 = D.1647_62->nextD.1471;
# TMT.7D.1695_91 = V_MAY_DEF <TMT.7D.1695_41>;
iD.1645_60->ptrD.1494 = D.1648_63;
i$bbD.1711_101 = i$bbD.1706_71;
i$containerD.1713_102 = i$containerD.1708_70;
i$ptrD.1712_103 = i$ptrD.1698_1;
i$containerD.1713_104 = i$containerD.1708_70;
i$ptrD.1712_105 = i$ptrD.1698_1;
i$ptrD.1712_66 = i$ptrD.1698_1;
tmpD.1576_67 = tmpD.1576_13;
# SUCC: 6 [100.0%] (fallthru)
# BLOCK 6
# PRED: 5 [100.0%] (fallthru)
# TMT.7D.1695_40 = PHI <TMT.7D.1695_91(5)>;
# tmpD.1576_39 = PHI <tmpD.1576_13(5)>;
<L11>:;
D.1583_51 = 0;
goto <bb 5> (<L8>);
# SUCC: 5 [100.0%] (fallthru)
Gr.
Steven