tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip unnecessary type conversion in...
authorBin Cheng <bin.cheng@arm.com>
Tue, 15 Sep 2015 02:12:47 +0000 (02:12 +0000)
committerBin Cheng <amker@gcc.gnu.org>
Tue, 15 Sep 2015 02:12:47 +0000 (02:12 +0000)
* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip
unnecessary type conversion in op1.

From-SVN: r227776

gcc/ChangeLog
gcc/tree-ssa-loop-ivopts.c

index 328675a87de2414f9b9eb958cd798aaf42cb30c9..16862d057cb6ba860b7e37690d9f9edefeef2c3d 100644 (file)
@@ -1,3 +1,8 @@
+2015-09-15  Bin Cheng  <bin.cheng@arm.com>
+
+       * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip
+       unnecessary type conversion in op1.
+
 2015-09-14  Segher Boessenkool  <segher@kernel.crashing.org>
 
        * shrink-wrap.c (requires_stack_frame_p): Fix formatting.
index 723a9f7f5bc55af509d70fabb3059eaf7b2954ae..ae14e8b798143fb25e6aa6b5a070d45d33b7e902 100644 (file)
@@ -3889,6 +3889,7 @@ get_shiftadd_cost (tree expr, machine_mode mode, comp_cost cost0,
   if (!(m >= 0 && m < maxm))
     return false;
 
+  STRIP_NOPS (op1);
   mult_in_op1 = operand_equal_p (op1, mult, 0);
 
   as_cost = add_cost (speed, mode) + shift_cost (speed, mode, m);