Commit 6751b6f6 by Alexandre Oliva Committed by Alexandre Oliva

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
parent 24277d34
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
comment. Use switch statement to catch overlaps between rtx
and tree codes. Accept FUNCTION_DECLs in addition to those in...
......
......@@ -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. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment