[Bug tree-optimization/63380] [5 Regression] Wrong constant folding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63380 --- Comment #7 from Richard Biener --- Author: rguenth Date: Fri Oct 10 11:05:39 2014 New Revision: 216066 URL: https://gcc.gnu.org/viewcvs?rev=216066&root=gcc&view=rev Log: 2014-10-10 Richard Biener PR tree-optimization/63380 * tree-ssa-tail-merge.c (stmt_local_def): Exclude stmts that may trap. * gcc.dg/torture/pr63380-1.c: New testcase. * gcc.dg/torture/pr63380-2.c: Likewise. Added: branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr63380-1.c branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr63380-2.c Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/testsuite/ChangeLog branches/gcc-4_9-branch/gcc/tree-ssa-tail-merge.c
[Bug tree-optimization/63380] [5 Regression] Wrong constant folding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63380 --- Comment #5 from Richard Biener --- Author: rguenth Date: Thu Oct 9 12:45:07 2014 New Revision: 216038 URL: https://gcc.gnu.org/viewcvs?rev=216038&root=gcc&view=rev Log: 2014-10-09 Richard Biener PR tree-optimization/63380 * tree-ssa-tail-merge.c (stmt_local_def): Exclude stmts that may trap. * gcc.dg/torture/pr63380-1.c: New testcase. * gcc.dg/torture/pr63380-2.c: Likewise. Added: trunk/gcc/testsuite/gcc.dg/torture/pr63380-1.c trunk/gcc/testsuite/gcc.dg/torture/pr63380-2.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-tail-merge.c
[Bug tree-optimization/63380] [5 Regression] Wrong constant folding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63380 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #6 from Richard Biener --- Fixed.
[Bug tree-optimization/63380] [5 Regression] Wrong constant folding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63380 --- Comment #4 from Richard Biener --- *** Bug 63381 has been marked as a duplicate of this bug. ***
[Bug tree-optimization/63380] [5 Regression] Wrong constant folding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63380 --- Comment #3 from Richard Biener --- Hmm. We end up with main () { int d.0_4; int e.1_5; int _7; int b.7_11; int a.8_12; : d.0_4 = d; e.1_5 = 1 >> d.0_4; e = e.1_5; _7 = 31 / 0; in the end. Which is caused by tail-merging (part of PRE) optimizing : d.0_4 = d; e.1_5 = 1 >> d.0_4; e = e.1_5; if (e.1_5 <= 0) goto ; else goto ; : goto ; : _7 = 31 / 0; : by removing bb 3 as having no side-effect appearantly (_7 is unused). It produces : d.0_4 = d; e.1_5 = 1 >> d.0_4; e = e.1_5; : _7 = 31 / 0; : not sure how it ends up doing that (I suppose it has code to merge an if diamond).
[Bug tree-optimization/63380] [5 Regression] Wrong constant folding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63380 Richard Biener changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org --- Comment #2 from Richard Biener --- Mine.
[Bug tree-optimization/63380] [5 Regression] Wrong constant folding
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63380 Marek Polacek changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2014-10-02 CC||mpolacek at gcc dot gnu.org Target Milestone|--- |5.0 Summary|Wrong constant folding |[5 Regression] Wrong ||constant folding Ever confirmed|0 |1 --- Comment #1 from Marek Polacek --- Works with -fno-tree-vrp. Seems to have started with r211904.