This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/15520] [3.5 Regression] miscompilation in tree-dom
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 19 May 2004 12:56:19 -0000
- Subject: [Bug tree-optimization/15520] [3.5 Regression] miscompilation in tree-dom
- References: <20040518160552.15520.belyshev@lubercy.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-05-19 12:56 -------
Confirmed, the problem is that the PHIs are executed in the wrong order:
<L1>:;
prev_41 = link_2;
- temp2.0_42 = temp2.0_33;
- T.5_43 = temp2.0_33->cdr;
+ temp2.0_42 = (struct Cons *)temp2_32;
+ T.5_43 = temp2.0_42->cdr;
link_44 = (int)T.5_43;
# link_2 = PHI <link_7(0), link_44(2)>;
- # prev_1 = PHI <prev_5(0), link_2(2)>;
+ # prev_1 = PHI <prev_5(0), prev_41(2)>;
end:;
Looking at the differences between the tree dump before DOM (DCE) and after DOM, the problem is
that the PHIs are in the wrong order in the sense that prev_1 is being set to the new link_2 instead of
the old (correct) value.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2004-05-19 12:56:18
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15520