diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2009-09-04 18:55:45 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2009-09-04 18:55:45 +0000 |
commit | 6751b6f658de1f96923b5f671cf8f1bcedf90c7d (patch) | |
tree | c1c231b2d242caf3900b052944d562c37f52fc2e /gcc/toplev.c | |
parent | 24277d3405286341523ae1eb3b5bd4e2156dea7b (diff) | |
download | gcc-6751b6f658de1f96923b5f671cf8f1bcedf90c7d.zip gcc-6751b6f658de1f96923b5f671cf8f1bcedf90c7d.tar.gz gcc-6751b6f658de1f96923b5f671cf8f1bcedf90c7d.tar.bz2 |
toplev.c (process_options): Move setter of flag_var_tracking before other tests that depend on it.
* toplev.c (process_options): Move setter of flag_var_tracking
before other tests that depend on it. Move down setter of
flag_rename_registers. Don't enable var-tracking-assignments
by default if selective scheduling is enabled. Warn if both
are enabled.
From-SVN: r151433
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r-- | gcc/toplev.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c index 1d69bb9..c18965a 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -1982,15 +1982,18 @@ process_options (void) flag_var_tracking_uninit = 0; } - if (flag_rename_registers == AUTODETECT_VALUE) - flag_rename_registers = default_debug_hooks->var_location - != do_nothing_debug_hooks.var_location; + /* If the user specifically requested variable tracking with tagging + uninitialized variables, we need to turn on variable tracking. + (We already determined above that variable tracking is feasible.) */ + if (flag_var_tracking_uninit) + flag_var_tracking = 1; if (flag_var_tracking == AUTODETECT_VALUE) flag_var_tracking = optimize >= 1; if (flag_var_tracking_assignments == AUTODETECT_VALUE) - flag_var_tracking_assignments = flag_var_tracking; + flag_var_tracking_assignments = flag_var_tracking + && !(flag_selective_scheduling || flag_selective_scheduling2); if (flag_var_tracking_assignments_toggle) flag_var_tracking_assignments = !flag_var_tracking_assignments; @@ -1998,6 +2001,14 @@ process_options (void) if (flag_var_tracking_assignments && !flag_var_tracking) flag_var_tracking = flag_var_tracking_assignments = -1; + if (flag_var_tracking_assignments + && (flag_selective_scheduling || flag_selective_scheduling2)) + warning (0, "var-tracking-assignments changes selective scheduling"); + + if (flag_rename_registers == AUTODETECT_VALUE) + flag_rename_registers = default_debug_hooks->var_location + != do_nothing_debug_hooks.var_location; + if (flag_tree_cselim == AUTODETECT_VALUE) #ifdef HAVE_conditional_move flag_tree_cselim = 1; @@ -2005,12 +2016,6 @@ process_options (void) flag_tree_cselim = 0; #endif - /* If the user specifically requested variable tracking with tagging - uninitialized variables, we need to turn on variable tracking. - (We already determined above that variable tracking is feasible.) */ - if (flag_var_tracking_uninit) - flag_var_tracking = 1; - /* If auxiliary info generation is desired, open the output file. This goes in the same directory as the source file--unlike all the other output files. */ |