OSDN Git Service

* config/pdp11/pdp11.md (various): Fix conditions on a number of
[pf3gnuchains/gcc-fork.git] / gcc / graphite-sese-to-poly.c
index 0fd6120..77930d5 100644 (file)
@@ -168,12 +168,6 @@ reduction_phi_p (sese region, gimple_stmt_iterator *psi)
   gimple phi = gsi_stmt (*psi);
   tree res = gimple_phi_result (phi);
 
-  if (!is_gimple_reg (res))
-    {
-      gsi_next (psi);
-      return false;
-    }
-
   loop = loop_containing_stmt (phi);
 
   if (simple_copy_phi_p (phi))
@@ -401,10 +395,7 @@ compare_bb_depths (const void *p1, const void *p2)
 static void
 graphite_sort_dominated_info (VEC (basic_block, heap) *dom)
 {
-  size_t len = VEC_length (basic_block, dom);
-
-  qsort (VEC_address (basic_block, dom), len, sizeof (basic_block),
-        compare_bb_depths);
+  VEC_qsort (basic_block, dom, compare_bb_depths);
 }
 
 /* Recursive helper function for build_scops_bbs.  */
@@ -1038,7 +1029,6 @@ add_upper_bounds_from_estimated_nit (scop_p scop, double_int nit,
   ppl_Coefficient_t coef;
   ppl_Constraint_t ub;
 
-  ppl_new_Linear_Expression_with_dimension (&ub_expr, dim);
   ppl_new_C_Polyhedron_from_space_dimension (&pol, dim, 0);
   ppl_new_Linear_Expression_from_Linear_Expression (&nb_iters_le,
                                                    ub_expr);
@@ -2359,12 +2349,6 @@ rewrite_degenerate_phi (gimple_stmt_iterator *psi)
   tree res = gimple_phi_result (phi);
   basic_block bb;
 
-  if (!is_gimple_reg (res))
-    {
-      gsi_next (psi);
-      return;
-    }
-
   bb = gimple_bb (phi);
   rhs = degenerate_phi_result (phi);
   gcc_assert (rhs);
@@ -2392,6 +2376,12 @@ rewrite_reductions_out_of_ssa (scop_p scop)
        {
          gimple phi = gsi_stmt (psi);
 
+         if (!is_gimple_reg (gimple_phi_result (phi)))
+           {
+             gsi_next (&psi);
+             continue;
+           }
+
          if (gimple_phi_num_args (phi) > 1
              && degenerate_phi_result (phi))
            rewrite_degenerate_phi (&psi);
@@ -2465,7 +2455,8 @@ rewrite_cross_bb_scalar_deps (sese region, gimple_stmt_iterator *gsi)
       return false;
     }
 
-  if (!is_gimple_reg (def))
+  if (!def
+      || !is_gimple_reg (def))
     return false;
 
   if (scev_analyzable_p (def, region))