This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]