aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/common.opt6
-rw-r--r--gcc/toplev.c26
3 files changed, 25 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d23ed15..c24f4b4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2005-07-18 Steve Ellcey <sje@cup.hp.com>
+
+ * common.opt (frename-registers): Initialize to 2.
+ (fweb): Ditto.
+ (fgcse-after-reload): Ditto.
+ * toplev.c (AUTODETECT_FLAG_VAR_TRACKING): Rename to AUTODETECT_VALUE.
+ (process_options): Only change flag_web, flag_rename_registers,
+ and flag_rerun_cse_after_loop if not explicitly set by user.
+
2005-07-18 Jan Beulich <jbeulich@novell.com>
* config/i386/i386.c (ix86_expand_branch, ix86_expand_setcc,
diff --git a/gcc/common.opt b/gcc/common.opt
index 9d2b671..4af5f50 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -431,7 +431,7 @@ Perform redundant load after store elimination in global common subexpression
elimination
fgcse-after-reload
-Common Report Var(flag_gcse_after_reload)
+Common Report Var(flag_gcse_after_reload) Init(2)
Perform global common subexpression elimination after register allocation
has finished
@@ -674,7 +674,7 @@ Common Report Var(flag_regmove)
Enables a register move optimization
frename-registers
-Common Report Var(flag_rename_registers)
+Common Report Var(flag_rename_registers) Init(2)
Perform a register renaming optimization pass
freorder-blocks
@@ -1015,7 +1015,7 @@ Common Report Var(flag_value_profile_transformations)
Use expression value profiles in optimizations
fweb
-Common Report Var(flag_web) Init(0)
+Common Report Var(flag_web) Init(2)
Construct webs and split unrelated uses of single variable
fwhole-program
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 0250c97..368e9e6 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -145,7 +145,7 @@ location_t unknown_location = { NULL, 0 };
/* Used to enable -fvar-tracking, -fweb and -frename-registers according
to optimize and default_debug_hooks in process_options (). */
-#define AUTODETECT_FLAG_VAR_TRACKING 2
+#define AUTODETECT_VALUE 2
/* Current position in real source file. */
@@ -334,9 +334,9 @@ rtx stack_limit_rtx;
int flag_renumber_insns = 1;
/* Nonzero if we should track variables. When
- flag_var_tracking == AUTODETECT_FLAG_VAR_TRACKING it will be set according
+ flag_var_tracking == AUTODETECT_VALUE it will be set according
to optimize, debug_info_level and debug_hooks in process_options (). */
-int flag_var_tracking = AUTODETECT_FLAG_VAR_TRACKING;
+int flag_var_tracking = AUTODETECT_VALUE;
/* True if the user has tagged the function with the 'section'
attribute. */
@@ -1531,14 +1531,14 @@ process_options (void)
flag_unroll_loops = 1;
/* The loop unrolling code assumes that cse will be run after loop.
- Also enable -fweb and -frename-registers that help scheduling
- the unrolled loop. */
- if (flag_unroll_loops || flag_peel_loops)
- {
- flag_rerun_cse_after_loop = 1;
- flag_web = 1;
- flag_rename_registers = 1;
- }
+ web and rename-registers also help when run after loop unrolling. */
+
+ if (flag_rerun_cse_after_loop == AUTODETECT_VALUE)
+ flag_rerun_cse_after_loop = flag_unroll_loops || flag_peel_loops;
+ if (flag_web == AUTODETECT_VALUE)
+ flag_web = flag_unroll_loops || flag_peel_loops;
+ if (flag_rename_registers == AUTODETECT_VALUE)
+ flag_rename_registers = flag_unroll_loops || flag_peel_loops;
/* If explicitly asked to run new loop optimizer, switch off the old
one. */
@@ -1693,11 +1693,11 @@ process_options (void)
flag_var_tracking = 0;
}
- if (flag_rename_registers == AUTODETECT_FLAG_VAR_TRACKING)
+ if (flag_rename_registers == AUTODETECT_VALUE)
flag_rename_registers = default_debug_hooks->var_location
!= do_nothing_debug_hooks.var_location;
- if (flag_var_tracking == AUTODETECT_FLAG_VAR_TRACKING)
+ if (flag_var_tracking == AUTODETECT_VALUE)
flag_var_tracking = optimize >= 1;
/* If auxiliary info generation is desired, open the output file.