diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2010-03-08 17:49:22 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2010-03-08 17:49:22 +0000 |
commit | c7631a71ab1f17a1c35f2ed902d9e01869c917f7 (patch) | |
tree | f8402ff094984c4a422f270022a2cfa5a85309cd | |
parent | b0602cc851a012adb398a3dd2724ac4c5c17e789 (diff) | |
download | gcc-c7631a71ab1f17a1c35f2ed902d9e01869c917f7.zip gcc-c7631a71ab1f17a1c35f2ed902d9e01869c917f7.tar.gz gcc-c7631a71ab1f17a1c35f2ed902d9e01869c917f7.tar.bz2 |
Fold convert SSA_NAMEs in the scalar expander.
2010-03-04 Sebastian Pop <sebastian.pop@amd.com>
* sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
Call fold_convert on all the returned values.
(expand_scalar_variables_expr): Pass to expand_scalar_variables_ssa_name
the type of the resulting expression.
From-SVN: r157284
-rw-r--r-- | gcc/ChangeLog.graphite | 7 | ||||
-rw-r--r-- | gcc/sese.c | 14 |
2 files changed, 14 insertions, 7 deletions
diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index e5d5653..25e0c51 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,5 +1,12 @@ 2010-03-04 Sebastian Pop <sebastian.pop@amd.com> + * sese.c (expand_scalar_variables_ssa_name): Add new argument for type. + Call fold_convert on all the returned values. + (expand_scalar_variables_expr): Pass to expand_scalar_variables_ssa_name + the type of the resulting expression. + +2010-03-04 Sebastian Pop <sebastian.pop@amd.com> + * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed ppl_min_for_le_pointset. Use ppl_Pointset_Powerset_C_Polyhedron_minimize. * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration. @@ -778,7 +778,7 @@ expand_scalar_variables_call (gimple stmt, basic_block bb, sese region, to translate the names of induction variables. */ static tree -expand_scalar_variables_ssa_name (tree op0, basic_block bb, +expand_scalar_variables_ssa_name (tree type, tree op0, basic_block bb, sese region, htab_t map, gimple_stmt_iterator *gsi) { @@ -787,7 +787,7 @@ expand_scalar_variables_ssa_name (tree op0, basic_block bb, if (is_parameter (region, op0) || is_iv (op0)) - return get_rename (map, op0); + return fold_convert (type, get_rename (map, op0)); def_stmt = SSA_NAME_DEF_STMT (op0); @@ -796,7 +796,7 @@ expand_scalar_variables_ssa_name (tree op0, basic_block bb, if (new_op != op0 && gimple_bb (SSA_NAME_DEF_STMT (new_op)) == bb) - return new_op; + return fold_convert (type, new_op); if (gimple_bb (def_stmt) == bb) { @@ -804,13 +804,13 @@ expand_scalar_variables_ssa_name (tree op0, basic_block bb, we do not need to create a new expression for it, we only need to ensure its operands are expanded. */ expand_scalar_variables_stmt (def_stmt, bb, region, map, gsi); - return new_op; + return fold_convert (type, new_op); } else { if (!gimple_bb (def_stmt) || !bb_in_sese_p (gimple_bb (def_stmt), region)) - return new_op; + return fold_convert (type, new_op); switch (gimple_code (def_stmt)) { @@ -871,7 +871,7 @@ expand_scalar_variables_expr (tree type, tree op0, enum tree_code code, { tree old_name = TREE_OPERAND (op0, 0); tree expr = expand_scalar_variables_ssa_name - (old_name, bb, region, map, gsi); + (type, old_name, bb, region, map, gsi); if (TREE_CODE (expr) != SSA_NAME && is_gimple_reg (old_name)) @@ -938,7 +938,7 @@ expand_scalar_variables_expr (tree type, tree op0, enum tree_code code, } if (code == SSA_NAME) - return expand_scalar_variables_ssa_name (op0, bb, region, map, gsi); + return expand_scalar_variables_ssa_name (type, op0, bb, region, map, gsi); if (code == ADDR_EXPR) { |