aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2011-06-27 12:59:56 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2011-06-27 12:59:56 +0000
commit9242213f86f6e3e4703b4fb84065608fb5a03985 (patch)
treee9f3364a8b586a028e3fdb52a73ee68e76297d9c
parentdb8b22ef4925f80ce5cabb585852896548f78c7e (diff)
downloadgcc-9242213f86f6e3e4703b4fb84065608fb5a03985.zip
gcc-9242213f86f6e3e4703b4fb84065608fb5a03985.tar.gz
gcc-9242213f86f6e3e4703b4fb84065608fb5a03985.tar.bz2
reorg.c (fill_simple_delay_slots): Use stop_search_p to stop the forward scan as well.
* reorg.c (fill_simple_delay_slots): Use stop_search_p to stop the forward scan as well. From-SVN: r175524
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/reorg.c13
2 files changed, 10 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2e1bc76..ff7fe68 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * reorg.c (fill_simple_delay_slots): Use stop_search_p to stop the
+ forward scan as well.
+
2011-06-27 Tristan Gingold <gingold@adacore.com>
PR target/44241
diff --git a/gcc/reorg.c b/gcc/reorg.c
index 28b6c7d..4df9105 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -2152,7 +2152,7 @@ fill_simple_delay_slots (int non_jumps_p)
/* This must be an INSN or CALL_INSN. */
pat = PATTERN (trial);
- /* USE and CLOBBER at this level was just for flow; ignore it. */
+ /* Stand-alone USE and CLOBBER are just for flow. */
if (GET_CODE (pat) == USE || GET_CODE (pat) == CLOBBER)
continue;
@@ -2271,15 +2271,12 @@ fill_simple_delay_slots (int non_jumps_p)
}
if (target == 0)
- for (trial = next_nonnote_insn (insn); trial; trial = next_trial)
+ for (trial = next_nonnote_insn (insn); !stop_search_p (trial, 1);
+ trial = next_trial)
{
next_trial = next_nonnote_insn (trial);
- if (LABEL_P (trial)
- || BARRIER_P (trial))
- break;
-
- /* We must have an INSN, JUMP_INSN, or CALL_INSN. */
+ /* This must be an INSN or CALL_INSN. */
pat = PATTERN (trial);
/* Stand-alone USE and CLOBBER are just for flow. */
@@ -2293,7 +2290,7 @@ fill_simple_delay_slots (int non_jumps_p)
else
trial_delay = trial;
- /* Stop our search when seeing an unconditional jump. */
+ /* Stop our search when seeing a jump. */
if (JUMP_P (trial_delay))
break;