diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1993-06-12 10:43:42 -0700 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1993-06-12 10:43:42 -0700 |
commit | 09d65479966b04ed960e295f7bc17f853dbe57e3 (patch) | |
tree | 38c3f161a3402b74fc0012e7c4cdb572f78a9b5a /gcc/sched.c | |
parent | 785e6a26dace53cebed12db30f33169d25c0c719 (diff) | |
download | gcc-09d65479966b04ed960e295f7bc17f853dbe57e3.zip gcc-09d65479966b04ed960e295f7bc17f853dbe57e3.tar.gz gcc-09d65479966b04ed960e295f7bc17f853dbe57e3.tar.bz2 |
(add_dependence): Reject CODE_LABELs when searching for
last insn of a sched group.
From-SVN: r4667
Diffstat (limited to 'gcc/sched.c')
-rw-r--r-- | gcc/sched.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/sched.c b/gcc/sched.c index 8ddf4bd..2fec9bc 100644 --- a/gcc/sched.c +++ b/gcc/sched.c @@ -844,7 +844,12 @@ add_dependence (insn, elem, dep_type) { /* Notes will never intervene here though, so don't bother checking for them. */ - while (NEXT_INSN (next) && SCHED_GROUP_P (NEXT_INSN (next))) + /* We must reject CODE_LABELs, so that we don't get confused by one + that has LABEL_PRESERVE_P set, which is represented by the same + bit in the rtl as SCHED_GROUP_P. A CODE_LABEL can never be + SCHED_GROUP_P. */ + while (NEXT_INSN (next) && SCHED_GROUP_P (NEXT_INSN (next)) + && GET_CODE (NEXT_INSN (next)) != CODE_LABEL) next = NEXT_INSN (next); /* Again, don't depend an insn on itself. */ |