http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47770
Summary: wrong code -O2 -ftree-loop-if-convert-stores
-fno-tree-reassoc
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Host: x86_64-pc-linux-gnu
Target: x86_64-pc-linux-gnu
Created attachment 23365
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23365
reduced testcase
Output:
$ gcc -O2 -ftree-loop-if-convert-stores -fno-tree-reassoc testcase.c
$ ./a.out
Aborted
By looking that the dumps testcase.c.110t.ifcvt is "binary equal" to
testcase.c.109t.ivcanon, but with -ftree-loop-if-convert-stores,
testcase.c.126t.cddce2 removes most of code of foo(). Dumps with and without
-ftree-loop-if-convert-stores are the same up to that point.