diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-05-17 21:02:22 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-05-17 21:02:22 +0000 |
commit | 1f94660fca96159dc31b621cf24174d11026c647 (patch) | |
tree | 35d23b03d2213753e54d33f08f4da4ba30aa2638 /gcc/jump.c | |
parent | b78e14a84b3965d9f543c2965dd34d3b7323e11d (diff) | |
download | gcc-1f94660fca96159dc31b621cf24174d11026c647.tar.gz |
* jump.c (jump_optimize_1): Remove inactive but real insns
in jump-to-next-insn optimization.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33966 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/jump.c')
-rw-r--r-- | gcc/jump.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/jump.c b/gcc/jump.c index 7f42235f4f7..bdc1b1aeaf4 100644 --- a/gcc/jump.c +++ b/gcc/jump.c @@ -390,6 +390,13 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan, { next = next_real_insn (JUMP_LABEL (insn)); delete_jump (insn); + + /* Remove the "inactive" but "real" insns (i.e. uses and + clobbers) in between here and there. */ + temp = insn; + while ((temp = next_real_insn (temp)) != next) + delete_insn (temp); + changed = 1; continue; } |