Add extra checks for places assuming one argument loop close SSA form.
2010-04-01 Sebastian Pop <sebastian.pop@amd.com> * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that gimple_phi_num_args of the loop close SSA phi node is equal to 1. (detect_commutative_reduction): Same. From-SVN: r158025
This commit is contained in:
parent
a3b9e73ca3
commit
79d03cf81b
@ -1,3 +1,21 @@
|
||||
2010-04-02 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
Reverted this commit: as at this point the loop closed SSA form
|
||||
is under a canonical form respecting the single argument condition.
|
||||
* graphite-sese-to-poly.c (scalar_close_phi_node_p): Loop
|
||||
close phi nodes may have more than one argument.
|
||||
|
||||
2010-04-01 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
|
||||
gimple_phi_num_args of the loop close SSA phi node is equal to 1.
|
||||
(detect_commutative_reduction): Same.
|
||||
|
||||
2010-03-31 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* graphite-sese-to-poly.c (scalar_close_phi_node_p): Loop
|
||||
close phi nodes may have more than one argument.
|
||||
|
||||
2010-03-30 Richard Guenther <rguenther@suse.de>
|
||||
Zdenek Dvorak <ook@ucw.cz>
|
||||
Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
@ -2183,6 +2183,9 @@ scalar_close_phi_node_p (gimple phi)
|
||||
|| !is_gimple_reg (gimple_phi_result (phi)))
|
||||
return false;
|
||||
|
||||
/* Note that loop close phi nodes should have a single argument
|
||||
because we translated the representation into a canonical form
|
||||
before Graphite: see canonicalize_loop_closed_ssa_form. */
|
||||
return (gimple_phi_num_args (phi) == 1);
|
||||
}
|
||||
|
||||
@ -2200,6 +2203,11 @@ 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);
|
||||
|
||||
/* Note that loop close phi nodes should have a single argument
|
||||
because we translated the representation into a canonical form
|
||||
before Graphite: see canonicalize_loop_closed_ssa_form. */
|
||||
gcc_assert (gimple_phi_num_args (phi) == 1);
|
||||
|
||||
if (TREE_CODE (arg) == SSA_NAME
|
||||
&& !SSA_NAME_IS_DEFAULT_DEF (arg))
|
||||
insert_out_of_ssa_copy (zero_dim_array, arg);
|
||||
@ -2665,6 +2673,11 @@ detect_commutative_reduction (gimple stmt, VEC (gimple, heap) **in,
|
||||
if (TREE_CODE (arg) != SSA_NAME)
|
||||
return NULL;
|
||||
|
||||
/* Note that loop close phi nodes should have a single argument
|
||||
because we translated the representation into a canonical form
|
||||
before Graphite: see canonicalize_loop_closed_ssa_form. */
|
||||
gcc_assert (gimple_phi_num_args (stmt) == 1);
|
||||
|
||||
def = SSA_NAME_DEF_STMT (arg);
|
||||
loop_phi = detect_commutative_reduction (def, in, out);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user