Summary: | [4.9 Regression] ICE: verify_ssa failed (definition in block n follows the use) | ||
---|---|---|---|
Product: | gcc | Reporter: | Antoine Balestrat <antoine.balestrat> |
Component: | tree-optimization | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | eraman, Joost.VandeVondele |
Priority: | P3 | ||
Version: | 4.9.0 | ||
Target Milestone: | 4.9.0 | ||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2013-07-01 00:00:00 |
Description
Antoine Balestrat
2013-05-24 17:33:44 UTC
Probably a dup. The following testcase causes a similar error / ICE (although I can't reproduce the bug with the original testcase). ======================== 8< ======================== extern void bar(double); struct S { int n; }; void foo(struct S s, double a, int i, int j, int k) { struct S t; bar(s.n * a * i * j); t.n = s.n * a * i * k; } ======================== >8 ======================== $ gcc -S -g -O -ffast-math bug.c bug.c: In function 'foo': bug.c:7:6: error: definition in block 2 follows the use void foo(struct S s, double a, int i, int j, int k) ^ for SSA_NAME: _4 in statement: # DEBUG D#3 => _4 * _6 bug.c:7:6: internal compiler error: verify_ssa failed 0x888c299 verify_ssa(bool) ../../gcc-4.9/gcc/tree-ssa.c:1046 0x85dc5ca execute_function_todo ../../gcc-4.9/gcc/passes.c:1970 0x85db901 do_per_function ../../gcc-4.9/gcc/passes.c:1707 0x85dc6df execute_todo ../../gcc-4.9/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. GCC 4.9.0 20130630 (experimental). (In reply to Dmitry Gorbachev from comment #2) > The following testcase causes a similar error / ICE (although I can't > reproduce the bug with the original testcase). this second testcase is almost certainly a dup of PR57393. It passes with -fno-tree-reassoc. The testcase is conveniently smaller. I assume it is caused (see also PR57370): http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=199048 The original testcase of this PR still fails for me (and also passes with -fno-tree-reassoc). |