diff options
author | Jan Hubicka <jh@suse.cz> | 2002-03-14 18:09:49 +0000 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2002-03-14 18:09:49 +0000 |
commit | 83a4940733758aa5e49b35ca6cef45f7a5958bf4 (patch) | |
tree | 609362042b34ec5c427be42f437a2d6fe7f3698f /gcc/recog.c | |
parent | b07ac17fa6d04952b7a2c57028f744a30cb7086e (diff) | |
download | gcc-83a4940733758aa5e49b35ca6cef45f7a5958bf4.zip gcc-83a4940733758aa5e49b35ca6cef45f7a5958bf4.tar.gz gcc-83a4940733758aa5e49b35ca6cef45f7a5958bf4.tar.bz2 |
emit-rtl.c (try_split): Use delete_insns.
* emit-rtl.c (try_split): Use delete_insns.
* recog.c (split_all_insns): Fix terminating condition.
From-SVN: r50778
Diffstat (limited to 'gcc/recog.c')
-rw-r--r-- | gcc/recog.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/recog.c b/gcc/recog.c index 8ad3ed2..cb1cb66 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -2735,14 +2735,16 @@ split_all_insns (upd_life) { basic_block bb = BASIC_BLOCK (i); rtx insn, next; + bool finish = false; - for (insn = bb->head; insn ; insn = next) + for (insn = bb->head; !finish ; insn = next) { rtx last; /* Can't use `next_real_insn' because that might go across CODE_LABELS and short-out basic blocks. */ next = NEXT_INSN (insn); + finish = (insn == bb->end); last = split_insn (insn); if (last) { @@ -2756,13 +2758,7 @@ split_all_insns (upd_life) changed = 1; insn = last; } - - if (next == NEXT_INSN (bb->end)) - break; } - - if (insn == NULL) - abort (); } if (changed) |