This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/19121] [4.0 Regression] ICE: in merge_alias_info, at tree-ssa-copy.c:236
- 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: 23 Dec 2004 05:56:29 -0000
- Subject: [Bug tree-optimization/19121] [4.0 Regression] ICE: in merge_alias_info, at tree-ssa-copy.c:236
- References: <20041221220253.19121.v.haisman@sh.cvut.cz>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-23 05:56 -------
This is definitely an problem in the aliasing code:
D.1126_6 = &my_perl_5->Itokenbuf[0];
term_7 = *D.1126_6;
if (i_8 != 0) goto <L0>; else goto <L6>;
<L0>:;
*s_18 = term_7;
s_19 = &my_perl_5->Itokenbuf[0];
s_20 = s_19;
tmpbuf = "";
if (s_20 == 0B) goto <L1>; else goto <L2>;
<L1>:;
s_27 = &tmpbuf;
# s_1 = PHI <s_20(1), s_27(2)>;
<L2>:;
What DOM did was combined the two "&my_perl_5->Itokenbuf[0]" so s_19 = D.1126_6
and then say that s_20 will never be zero as we already loaded from D.1126_6 so it turned s_20==0 to
false, then prograted D.1126_6 into the PHI of s_1 which causes the ICE.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19121