OSDN Git Service

Also handle GIMPLE_CALLs in rewrite_cross_bb_scalar_deps.
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Aug 2010 20:27:35 +0000 (20:27 +0000)
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Aug 2010 20:27:35 +0000 (20:27 +0000)
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Also
handle GIMPLE_CALL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163141 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/ChangeLog.graphite
gcc/graphite-sese-to-poly.c

index 3a90394..e37027f 100644 (file)
@@ -1,5 +1,10 @@
 2010-08-02  Sebastian Pop  <sebastian.pop@amd.com>
 
+       * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Also
+       handle GIMPLE_CALL.
+
+2010-08-02  Sebastian Pop  <sebastian.pop@amd.com>
+
        * tree-chrec.c (chrec_apply): Should only apply to the specified
        variable.  Also handle multivariate chains of recurrences that
        satisfy evolution_function_is_affine_p.  Also handle CASE_CONVERT.
index c46bd70..e26a1b3 100644 (file)
@@ -1,5 +1,10 @@
 2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
 
+       * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Also
+       handle GIMPLE_CALL.
+
+2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>
+
        * tree-chrec.c (chrec_apply): Should only apply to the specified
        variable.  Also handle multivariate chains of recurrences that
        satisfy evolution_function_is_affine_p.  Also handle CASE_CONVERT.
index b9bf284..7c47a80 100644 (file)
@@ -2405,10 +2405,20 @@ rewrite_cross_bb_scalar_deps (sese region, gimple_stmt_iterator *gsi)
   tree zero_dim_array = NULL_TREE;
   gimple use_stmt;
 
-  if (gimple_code (stmt) != GIMPLE_ASSIGN)
-    return;
+  switch (gimple_code (stmt))
+    {
+    case GIMPLE_ASSIGN:
+      def = gimple_assign_lhs (stmt);
+      break;
+
+    case GIMPLE_CALL:
+      def = gimple_call_lhs (stmt);
+      break;
+
+    default:
+      return;
+    }
 
-  def = gimple_assign_lhs (stmt);
   if (!is_gimple_reg (def)
       || scev_analyzable_p (def, region))
     return;