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)),
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)
{
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);
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. */
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. */