aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-08-01 16:53:58 -0700
committerRichard Henderson <rth@gcc.gnu.org>2002-08-01 16:53:58 -0700
commitde273d3f1c1843fc93aeed17015062ddccdc6bc7 (patch)
tree50ec5b18f61b1e2fbde188624805be2ec9c3af9d
parent4e4d733e19a420252f401c7e5a469abda6a48998 (diff)
downloadgcc-de273d3f1c1843fc93aeed17015062ddccdc6bc7.zip
gcc-de273d3f1c1843fc93aeed17015062ddccdc6bc7.tar.gz
gcc-de273d3f1c1843fc93aeed17015062ddccdc6bc7.tar.bz2
toplev.c (parse_options_and_default_flags): Don't set flag_reorder_blocks for -Os.
* toplev.c (parse_options_and_default_flags): Don't set flag_reorder_blocks for -Os. * config/avr/avr.c (avr_optimization_options): Remove. * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove. * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove. * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove. From-SVN: r55958
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/avr/avr.c10
-rw-r--r--gcc/config/avr/avr.h3
-rw-r--r--gcc/config/m68hc11/m68hc11.c15
-rw-r--r--gcc/config/m68hc11/m68hc11.h4
-rw-r--r--gcc/toplev.c9
6 files changed, 19 insertions, 32 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 22f4ba1..70a5c6b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+2002-08-01 Richard Henderson <rth@redhat.com>
+
+ * toplev.c (parse_options_and_default_flags): Don't set
+ flag_reorder_blocks for -Os.
+
+ * config/avr/avr.c (avr_optimization_options): Remove.
+ * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
+ * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
+ * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
+
2002-08-01 H.J. Lu <hjl@gnu.org>
Richard Henderson <rth@redhat.com>
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index e55c33c..a8f9bda 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -258,16 +258,6 @@ avr_override_options ()
}
-void
-avr_optimization_options (level, size)
- int level ATTRIBUTE_UNUSED;
- int size;
-{
- if (size)
- flag_reorder_blocks = 0;
-}
-
-
/* Initialize TMP_REG_RTX and ZERO_REG_RTX */
void
avr_init_once ()
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index a405cac..274d4270 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -132,9 +132,6 @@ extern int avr_asm_only_p;
Don't use this macro to turn on various extra optimizations for
`-O'. That is what `OPTIMIZATION_OPTIONS' is for. */
-#define OPTIMIZATION_OPTIONS(LEVEL, SIZE) \
- avr_optimization_options (LEVEL, SIZE)
-
#define CAN_DEBUG_WITHOUT_FP
/* Define this macro if debugging can be performed even without a
frame pointer. If this macro is defined, GNU CC will turn on the
diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c
index 515f92c..1c85ca5 100644
--- a/gcc/config/m68hc11/m68hc11.c
+++ b/gcc/config/m68hc11/m68hc11.c
@@ -288,21 +288,6 @@ m68hc11_override_options ()
}
-int
-m68hc11_optimization_options (level, size)
- int level ATTRIBUTE_UNUSED;
- int size;
-{
- /* When optimizing for size, do not reorder basic blocks because
- it duplicates some insns for speed and this results in larder code.
- This reordering can still be enabled but explicitly. */
- if (size)
- {
- flag_reorder_blocks = 0;
- }
- return 0;
-}
-
void
m68hc11_conditional_register_usage ()
{
diff --git a/gcc/config/m68hc11/m68hc11.h b/gcc/config/m68hc11/m68hc11.h
index aec92b7..5a9fc52 100644
--- a/gcc/config/m68hc11/m68hc11.h
+++ b/gcc/config/m68hc11/m68hc11.h
@@ -214,10 +214,6 @@ extern const char *m68hc11_soft_reg_count;
#define OVERRIDE_OPTIONS m68hc11_override_options ();
-/* Define this to change the optimizations performed by default. */
-#define OPTIMIZATION_OPTIONS(LEVEL, SIZE) \
-m68hc11_optimization_options(LEVEL, SIZE)
-
/* Define cost parameters for a given processor variant. */
struct processor_costs {
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 9fe5cad..25d3cd2 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -4813,6 +4813,15 @@ parse_options_and_default_flags (argc, argv)
align_jumps = 1;
align_labels = 1;
align_functions = 1;
+
+ /* Don't reorder blocks when optimizing for size because extra
+ jump insns may be created; also barrier may create extra padding.
+
+ More correctly we should have a block reordering mode that tried
+ to minimize the combined size of all the jumps. This would more
+ or less automatically remove extra jumps, but would also try to
+ use more short jumps instead of long jumps. */
+ flag_reorder_blocks = 0;
}
/* Initialize whether `char' is signed. */