re PR middle-end/42180 (compiling induct.f90 with -ffast-math -O2 -fgraphite-identit...
authorSebastian Pop <sebastian.pop@amd.com>
Wed, 23 Dec 2009 07:51:05 +0000 (07:51 +0000)
committerSebastian Pop <spop@gcc.gnu.org>
Wed, 23 Dec 2009 07:51:05 +0000 (07:51 +0000)
Fix PR42180.

2009-12-18  Sebastian Pop  <sebastian.pop@amd.com>

PR middle-end/42180
* graphite-sese-to-poly.c (follow_ssa_with_commutative_ops): Handle
GIMPLE_CALL.

* testsuite/gfortran.dg/graphite/pr42180.f90: Add compile flags.

From-SVN: r155423

gcc/ChangeLog.graphite
gcc/graphite-sese-to-poly.c
gcc/testsuite/gfortran.dg/graphite/pr42180.f90

index ae3369e834fa02da273e5e685971bccdd1da61cc..09af72ba9577e75029398c8c2e7b1178ed29f51c 100644 (file)
@@ -1,9 +1,23 @@
+2009-12-18  Sebastian Pop  <sebastian.pop@amd.com>
+
+       Revert patch fixing PR middle-end/42221.
+
+2009-12-18  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42180
+       * graphite-sese-to-poly.c (follow_ssa_with_commutative_ops): Handle
+       GIMPLE_CALL.
+
+       * testsuite/gfortran.dg/graphite/pr42180.f90: Add compile flags.
+
 2009-12-18  Sebastian Pop  <sebastian.pop@amd.com>
 
        PR middle-end/42180
        * graphite-sese-to-poly.c (split_reduction_stmt): Do not split blocks
        that contain only one statement.
 
+       * testsuite/gfortran.dg/graphite/pr42180.f90: New.
+
 2009-12-17  Sebastian Pop  <sebastian.pop@amd.com>
 
        PR middle-end/42393
index 5999a655aeb1b34a741b0f92c3eb750087c039aa..70827a9bab961bf111c768e1fb30207562da26cd 100644 (file)
@@ -2501,7 +2501,8 @@ follow_ssa_with_commutative_ops (tree arg, tree lhs)
 
   stmt = SSA_NAME_DEF_STMT (arg);
 
-  if (gimple_code (stmt) == GIMPLE_NOP)
+  if (gimple_code (stmt) == GIMPLE_NOP
+      || gimple_code (stmt) == GIMPLE_CALL)
     return NULL;
 
   if (gimple_code (stmt) == GIMPLE_PHI)
index 6c8daeaea608735034034fbbce9d05086409573a..523c479e215a58bc79b79b7b6e5375eaf7c5df23 100644 (file)
@@ -1,3 +1,5 @@
+! { dg-options "-ffast-math -O2 -fgraphite-identity" }
+
 module mcc_m
   integer, parameter, private :: longreal = selected_real_kind(15,90)
 contains