aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-10-06 20:01:39 -0700
committerRichard Henderson <rth@gcc.gnu.org>2002-10-06 20:01:39 -0700
commitff025ab9ad1419208845b3287548f8e52f66f7c1 (patch)
treeb596c528e5e039fa50f7f3dc22f92aecaaee8842
parent8d725537d4e8bb87e0aff517387666d7f52af872 (diff)
downloadgcc-ff025ab9ad1419208845b3287548f8e52f66f7c1.zip
gcc-ff025ab9ad1419208845b3287548f8e52f66f7c1.tar.gz
gcc-ff025ab9ad1419208845b3287548f8e52f66f7c1.tar.bz2
re PR rtl-optimization/2960 (Duplicate loop conditions even with -Os)
PR optimization/2960 * toplev.c (rest_of_compilation): Don't copy_loop_headers if optimize_size. From-SVN: r57870
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/toplev.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0f66fd0..e5d76f5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2002-10-06 Richard Henderson <rth@redhat.com>
+
+ PR optimization/2960
+ * toplev.c (rest_of_compilation): Don't copy_loop_headers if
+ optimize_size.
+
2002-10-06 Alexandre Oliva <aoliva@redhat.com>
* config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 2614427..1ef00cd 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -2676,7 +2676,8 @@ rest_of_compilation (decl)
/* CFG is no longer maintained up-to-date. */
free_bb_for_insn ();
- copy_loop_headers (insns);
+ if (!optimize_size)
+ copy_loop_headers (insns);
purge_line_number_notes (insns);
find_basic_blocks (insns, max_reg_num (), rtl_dump_file);