* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip
authoramker <amker@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Sep 2015 02:12:47 +0000 (02:12 +0000)
committeramker <amker@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Sep 2015 02:12:47 +0000 (02:12 +0000)
unnecessary type conversion in op1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227776 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 328675a..16862d0 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 723a9f7..ae14e8b 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);