mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
24277d3405
commit
6751b6f658
|
@ -1,3 +1,11 @@
|
|||
2009-09-04 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* 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.
|
||||
|
||||
2009-09-04 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* var-tracking.c (dv_is_decl_p): Adjust NULL behavior to match
|
||||
|
|
25
gcc/toplev.c
25
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. */
|
||||
|
|
Loading…
Reference in New Issue