OSDN Git Service

PR debug/43508
[pf3gnuchains/gcc-fork.git] / gcc / graphite-sese-to-poly.c
index 28ed07c..83eff2a 100644 (file)
@@ -2200,7 +2200,8 @@ rewrite_close_phi_out_of_ssa (gimple_stmt_iterator *psi)
   gimple stmt = gimple_build_assign (res, zero_dim_array);
   tree arg = gimple_phi_arg_def (phi, 0);
 
-  if (TREE_CODE (arg) == SSA_NAME)
+  if (TREE_CODE (arg) == SSA_NAME
+      && !SSA_NAME_IS_DEFAULT_DEF (arg))
     insert_out_of_ssa_copy (zero_dim_array, arg);
   else
     insert_out_of_ssa_copy_on_edge (single_pred_edge (gimple_bb (phi)),
@@ -2365,7 +2366,8 @@ rewrite_cross_bb_scalar_deps (sese region, gimple_stmt_iterator *gsi)
 
   FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, def)
     if (def_bb != gimple_bb (use_stmt)
-       && gimple_code (use_stmt) != GIMPLE_PHI)
+       && gimple_code (use_stmt) != GIMPLE_PHI
+       && !is_gimple_debug (use_stmt))
       {
        if (!zero_dim_array)
          {
@@ -2464,7 +2466,7 @@ split_reduction_stmt (gimple stmt)
 
   split_block (bb, stmt);
 
-  if (gsi_one_before_end_p (gsi_start_bb (bb)))
+  if (gsi_one_before_end_p (gsi_start_nondebug_bb (bb)))
     return bb;
 
   gsi = gsi_last_bb (bb);
@@ -2910,6 +2912,9 @@ scop_canonicalize_loops (scop_p scop)
       graphite_loop_normal_form (loop);
 }
 
+/* Java does not initialize long_long_integer_type_node.  */
+#define my_long_long (long_long_integer_type_node ? long_long_integer_type_node : ssizetype)
+
 /* Can all ivs be represented by a signed integer?
    As CLooG might generate negative values in its expressions, signed loop ivs
    are required in the backend. */
@@ -2934,13 +2939,14 @@ scop_ivs_can_be_represented (scop_p scop)
       precision = TYPE_PRECISION (type);
 
       if (TYPE_UNSIGNED (type)
-         && precision >= TYPE_PRECISION (long_long_integer_type_node))
+         && precision >= TYPE_PRECISION (my_long_long))
        return false;
     }
 
   return true;
 }
 
+#undef my_long_long
 
 /* Builds the polyhedral representation for a SESE region.  */