]> gcc.gnu.org Git - gcc.git/commitdiff
loop-invariant.c (get_inv_cost): Skip invariants, which are marked as "move", from...
authorZhenqiang Chen <zhenqiang.chen@linaro.org>
Thu, 19 Jun 2014 09:04:58 +0000 (09:04 +0000)
committerZhenqiang Chen <zqchen@gcc.gnu.org>
Thu, 19 Jun 2014 09:04:58 +0000 (09:04 +0000)
2014-06-19  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* loop-invariant.c (get_inv_cost): Skip invariants, which are marked
as "move", from depends_on.

From-SVN: r211818

gcc/ChangeLog
gcc/loop-invariant.c

index 2d22cde514dbd7e737670c140b5f60bb2903e41b..d5ac634dda79e24570cecced8b0ac53e9ce49579 100644 (file)
@@ -1,3 +1,8 @@
+2014-06-19  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
+
+       * loop-invariant.c (get_inv_cost): Skip invariants, which are marked
+       as "move", from depends_on.
+
 2014-06-19  Terry Guo  <terry.guo@arm.com>
 
        * config/arm/thumb1.md (define_split): Split 64bit constant in earlier
index 898a431af2c0eb6a25735367d472bba49ed8b8bb..f683d8ccfe9e8889bfdad4c472ed78e7d42f511c 100644 (file)
@@ -1136,6 +1136,10 @@ get_inv_cost (struct invariant *inv, int *comp_cost, unsigned *regs_needed)
 
       dep = invariants[depno];
 
+      /* If DEP is moved out of the loop, it is not a depends_on any more.  */
+      if (dep->move)
+       continue;
+
       get_inv_cost (dep, &acomp_cost, aregs_needed);
 
       if (! flag_ira_loop_pressure)
This page took 0.150244 seconds and 5 git commands to generate.