diff options
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 1d69bb965d3..c18965a3c6e 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. */ |