aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/jump.c8
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 35202c2..5d50e5e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,9 +1,15 @@
+Wed Nov 17 15:18:30 1999 Richard Henderson <rth@cygnus.com>
+
+ * jump.c (jump_optimize_1): Don't try to duplicate the loop exit
+ test if optimizing for size.
+
1999-11-17 Mark Mitchell <mark@codesourcery.com>
* Makefile.in (toplev.o): Depend on except.h.
(dwarf2out.o,loop.o,flow.o,haifa-sched.o): Likewise.
Mon Nov 15 22:45:39 CET 1999 Jan Hubicka <hubicka@freesoft.cz>
+
* i386.md (divmodsi4): Rewrite to expander.
(*divmodsi4_nocltd): New.
(*divmodsi4_cltd): New.
diff --git a/gcc/jump.c b/gcc/jump.c
index 2020840..dd8aaea 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -319,8 +319,12 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan, mark_labels_only)
/* See if this is a NOTE_INSN_LOOP_BEG followed by an unconditional
jump. Try to optimize by duplicating the loop exit test if so.
This is only safe immediately after regscan, because it uses
- the values of regno_first_uid and regno_last_uid. */
- if (after_regscan && GET_CODE (insn) == NOTE
+ the values of regno_first_uid and regno_last_uid. Don't do this
+ if optimizing for size. */
+
+ if (! optimize_size
+ && after_regscan
+ && GET_CODE (insn) == NOTE
&& NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_BEG
&& (temp1 = next_nonnote_insn (insn)) != 0
&& simplejump_p (temp1))