This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/46130] [4.6 Regression] ICE: SIGSEGV in walk_stmt_load_store_addr_ops (gimple.c:4894) with -O2 -fno-tree-dce
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 19 Jan 2011 17:00:26 +0000
- Subject: [Bug tree-optimization/46130] [4.6 Regression] ICE: SIGSEGV in walk_stmt_load_store_addr_ops (gimple.c:4894) with -O2 -fno-tree-dce
- Auto-submitted: auto-generated
- References: <bug-46130-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46130
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-01-19 16:59:59 UTC ---
Yet another testcase:
extern int bar (int);
static int foo (int x)
{
int z, w;
if (x <= 1024)
{
z = 16;
w = 17;
}
else
{
bar (bar (bar (bar (bar (bar (bar (bar (bar (16)))))))));
if (x > 131072)
w = 19;
else
w = 21;
z = 32;
}
w = w + 121;
return z;
}
int
baz (int x)
{
return foo (x + 6) + foo (x + 15) + foo (x + 24);
}
This one shows one PHI node for retval we handle correctly and one we don't.
What we perhaps could handle is if the phi argument in the other PHI is the
same in all the edges from split_bbs and originates outside of the split bbs,
but probably it isn't worth handling it.