aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/xtensa/xtensa.h13
2 files changed, 18 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 16e3565..bc9b0e6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-04-29 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa.h (OPTIMIZATION_OPTIONS): Define to disable
+ flag_reorder_blocks.
+
2005-04-28 Kazu Hirata <kazu@cs.umass.edu>
PR tree-optimization/21030
diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h
index 9f2f7d6..bfe0be1 100644
--- a/gcc/config/xtensa/xtensa.h
+++ b/gcc/config/xtensa/xtensa.h
@@ -65,6 +65,19 @@ extern unsigned xtensa_current_frame_size;
(XCHAL_HAVE_L32R ? 0 : MASK_CONST16))
#define OVERRIDE_OPTIONS override_options ()
+
+/* Reordering blocks for Xtensa is not a good idea unless the compiler
+ understands the range of conditional branches. Currently all branch
+ relaxation for Xtensa is handled in the assembler, so GCC cannot do a
+ good job of reordering blocks. Do not enable reordering unless it is
+ explicitly requested. */
+#define OPTIMIZATION_OPTIONS(LEVEL, SIZE) \
+ do \
+ { \
+ flag_reorder_blocks = 0; \
+ } \
+ while (0)
+
/* Target CPU builtins. */
#define TARGET_CPU_CPP_BUILTINS() \