aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/doc/invoke.texi24
-rw-r--r--gcc/toplev.c5
3 files changed, 24 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 14134e9..61256fe 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+2004-04-20 Paolo Bonzini <bonzini@gnu.org>
+
+ Revert part of 2004-04-17 change that moved -frename-registers
+ to -O1. -frename-registers is buggy.
+
+ * toplev.c (flag_rename_registers): Initialize to 0.
+ * doc/invoke.texi (Optimize options): Move -frename-registers
+ to "Not triggered by any -O level" section. Adjust commentary
+ accordingly.
+
2004-04-20 Anil Paranjpe   <anilp1@kpitcummins.com>
* toplev.c (compile_file): Move targetm.asm_out.file_end call to end.
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 570e8e7..d204cf6 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -4342,19 +4342,6 @@ If @var{n} is not specified or is zero, use a machine-dependent default.
Enabled at levels @option{-O2}, @option{-O3}.
-@item -frename-registers
-@opindex frename-registers
-Attempt to avoid false dependencies in scheduled code by making use
-of registers left over after register allocation. This optimization
-will most benefit processors with lots of registers. Depending on the
-debug information format adopted by the target, however, it can
-make debugging impossible, since variables will no longer stay in
-a ``home register''.
-
-Enabled at levels @option{-O}, @option{-O2}, @option{-O3}, @option{-Os},
-on targets where the default format for debugging information supports
-variable tracking.
-
@item -fweb
@opindex fweb
Constructs webs as commonly used for register allocation purposes and assign
@@ -4575,6 +4562,17 @@ using the knowledge about the value of the denominator.
Enabled with @option{-profile-generate} and @option{-profile-use}.
+@item -frename-registers
+@opindex frename-registers
+Attempt to avoid false dependencies in scheduled code by making use
+of registers left over after register allocation. This optimization
+will most benefit processors with lots of registers. Depending on the
+debug information format adopted by the target, however, it can
+make debugging impossible, since variables will no longer stay in
+a ``home register''.
+
+Not enabled by default at any level because it has known bugs.
+
@item -fnew-ra
@opindex fnew-ra
Use a graph coloring register allocator. Currently this option is meant
diff --git a/gcc/toplev.c b/gcc/toplev.c
index bdffef7..d96543d 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -268,8 +268,9 @@ int flag_reorder_functions = 0;
/* Nonzero if registers should be renamed. When
flag_rename_registers == AUTODETECT_FLAG_VAR_TRACKING it will be set
- according to optimize and default_debug_hooks in process_options (). */
-int flag_rename_registers = AUTODETECT_FLAG_VAR_TRACKING;
+ according to optimize and default_debug_hooks in process_options (),
+ but we do not do this yet because it triggers aborts in flow.c. */
+int flag_rename_registers = 0;
int flag_cprop_registers = 0;
/* Nonzero for -pedantic switch: warn about anything