diff options
author | Richard Henderson <rth@cygnus.com> | 2000-05-17 14:02:22 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-05-17 14:02:22 -0700 |
commit | d67b9d00113531e8db4cb29704c43a806bb93469 (patch) | |
tree | 35d23b03d2213753e54d33f08f4da4ba30aa2638 | |
parent | 97d36f455e71c16d284bc5e2735fd174673b9e0f (diff) | |
download | gcc-d67b9d00113531e8db4cb29704c43a806bb93469.zip gcc-d67b9d00113531e8db4cb29704c43a806bb93469.tar.gz gcc-d67b9d00113531e8db4cb29704c43a806bb93469.tar.bz2 |
jump.c (jump_optimize_1): Remove inactive but real insns in jump-to-next-insn optimization.
* jump.c (jump_optimize_1): Remove inactive but real insns
in jump-to-next-insn optimization.
From-SVN: r33966
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/jump.c | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 577189f..ba7e67a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2000-05-17 Richard Henderson <rth@cygnus.com> + * jump.c (jump_optimize_1): Remove inactive but real insns + in jump-to-next-insn optimization. + +2000-05-17 Richard Henderson <rth@cygnus.com> + * toplev.c (rest_of_compilation): Don't call optimize_mode_switching unless OPTIMIZE_MODE_SWITCHING. Conditionally set no_new_pseudos. Don't call recompute_reg_usage if no_new_pseudos is true. @@ -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; } |