[Bug tree-optimization/57718] New: ICE in execute_todo, passes.c:2002 at -O3 (both -m32 & -m64)
su at cs dot ucdavis.edu
gcc-bugzilla@gcc.gnu.org
Wed Jun 26 06:14:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57718
Bug ID: 57718
Summary: ICE in execute_todo, passes.c:2002 at -O3 (both -m32 &
-m64)
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: su at cs dot ucdavis.edu
With current gcc trunk on x86_64-linux, the following code causes an ICE when
compiled at -O3 (both -m32 and -m64). This is a regression from 4.8.x.
It may be related to 57592.
$ gcc-trunk -v
gcc version 4.9.0 20130625 (experimental) [trunk revision 200388] (GCC)
$ gcc-trunk -O2 -c reduced.c
$ gcc-4.8 -O3 -c reduced.c
$ gcc-trunk -O3 -c reduced.c
reduced.c: In function ‘foo’:
reduced.c:3:6: internal compiler error: Segmentation fault
void foo ()
^
0x7d729f crash_signal
../../gcc-trunk/gcc/toplev.c:333
0x7ff31b ssa_default_def(function*, tree_node*)
../../gcc-trunk/gcc/tree-dfa.c:314
0x7ff5e0 get_or_create_ssa_default_def(function*, tree_node*)
../../gcc-trunk/gcc/tree-dfa.c:362
0x8187fa get_reaching_def
../../gcc-trunk/gcc/tree-into-ssa.c:1184
0x81e96b maybe_replace_use
../../gcc-trunk/gcc/tree-into-ssa.c:1784
0x81e96b rewrite_update_stmt
../../gcc-trunk/gcc/tree-into-ssa.c:1967
0x81e96b rewrite_update_enter_block
../../gcc-trunk/gcc/tree-into-ssa.c:2136
0xb3801a walk_dominator_tree(dom_walk_data*, basic_block_def*)
../../gcc-trunk/gcc/domwalk.c:210
0x817503 rewrite_blocks
../../gcc-trunk/gcc/tree-into-ssa.c:2216
0x81dc1e update_ssa(unsigned int)
../../gcc-trunk/gcc/tree-into-ssa.c:3303
0x74a3db execute_function_todo
../../gcc-trunk/gcc/passes.c:1942
0x74ab7e execute_todo
../../gcc-trunk/gcc/passes.c:2002
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
----------------------------------------------------------
int a, b, c, d, e, f;
void foo ()
{
int g;
for (;;) {
f = 0;
for (; f <= 1; f++) {
a = 0;
for (; a <= 4; a++)
b |= a >= g;
if (d)
continue;
e = 0;
}
c = bar () < b;
}
}
More information about the Gcc-bugs
mailing list