tree-scalar-evolution.c (follow_ssa_edge_expr): Turn into CASE_CONVERT.
authorEric Botcazou <ebotcazou@adacore.com>
Tue, 19 May 2009 19:14:42 +0000 (19:14 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Tue, 19 May 2009 19:14:42 +0000 (19:14 +0000)
commit5aefc6a0f02fd484d40a5704ab0284409f59bda7
treea622fa5a302faf79b01e0d7a9a4b950457f506dc
parentc8036448d18101ce03661a2e6179d07b6178b6fb
tree-scalar-evolution.c (follow_ssa_edge_expr): Turn into CASE_CONVERT.

* tree-scalar-evolution.c (follow_ssa_edge_expr) <NOP_EXPR>: Turn
into CASE_CONVERT.
<PLUS_EXPR>: Strip useless type conversions instead of type nops.
Propagate the type of the first operand.
<ASSERT_EXPR>: Simplify.
(follow_ssa_edge_in_rhs): Use gimple_expr_type to get the type.
Rewrite using the RHS code as discriminant.
<NOP_EXPR>: Turn into CASE_CONVERT.
<PLUS_EXPR>: Propagate the type of the first operand.

From-SVN: r147716
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/loop_optimization6.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/loop_optimization6.ads [new file with mode: 0644]
gcc/tree-scalar-evolution.c