summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrevitale <revitale@138bc75d-0d04-0410-961f-82ee72b054a4>2011-05-11 07:40:26 +0000
committerrevitale <revitale@138bc75d-0d04-0410-961f-82ee72b054a4>2011-05-11 07:40:26 +0000
commitcf961a94424dc0d6fd23fd1dbc9040a94824c94e (patch)
treef10942cfe3e5254db2a4fa19afd22a8f0a324af4
parent29dc3c19f8e14a085c9ac52812bcb1b24f235d0c (diff)
downloadgcc-cf961a94424dc0d6fd23fd1dbc9040a94824c94e.tar.gz
Skip DEBUG_INSNs while recognizing doloop
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173647 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/modulo-sched.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1ea9d00f1ad..60e7c764557 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
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
instead of PREV_INSN.
diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c
index 091c0059e5c..0f525afb676 100644
--- a/gcc/modulo-sched.c
+++ b/gcc/modulo-sched.c
@@ -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)
{