Skip DEBUG_INSNs while recognizing doloop
authorRevital Eres <revital.eres@linaro.org>
Wed, 11 May 2011 07:40:26 +0000 (07:40 +0000)
committerRevital Eres <revitale@gcc.gnu.org>
Wed, 11 May 2011 07:40:26 +0000 (07:40 +0000)
From-SVN: r173647

gcc/ChangeLog
gcc/modulo-sched.c

index 1ea9d00f1ad84301946778a13726bd4a09ad5e8f..60e7c7645574251e322dd4284943cbe09cb767cc 100644 (file)
@@ -1,3 +1,8 @@
+2011-05-11  Revital Eres  <revital.eres@linaro.org>
+
+       * modulo-sched.c (doloop_register_get): Ignore DEBUG_INSNs while
+       recognizing doloop.
+
 2011-05-11  Revital Eres  <revital.eres@linaro.org>
 
        * loop-doloop.c (doloop_condition_get): Use prev_nondebug_insn
index 091c0059e5cf728de3c28853d5d0d261ceb26b1d..0f525afb6766896816602d914b056be139ec1be8 100644 (file)
@@ -310,10 +310,10 @@ doloop_register_get (rtx head ATTRIBUTE_UNUSED, rtx tail ATTRIBUTE_UNUSED)
      either a single (parallel) branch-on-count or a (non-parallel)
      branch immediately preceded by a single (decrement) insn.  */
   first_insn_not_to_check = (GET_CODE (PATTERN (tail)) == PARALLEL ? tail
-                             : PREV_INSN (tail));
+                             : prev_nondebug_insn (tail));
 
   for (insn = head; insn != first_insn_not_to_check; insn = NEXT_INSN (insn))
-    if (reg_mentioned_p (reg, insn))
+    if (reg_mentioned_p (reg, insn) && !DEBUG_INSN_P (insn))
       {
         if (dump_file)
         {