public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/marxin/heads/remove-AUTODETECT_VALUE-opt-value)] Eliminate AUTODETECT_VALUE usage in options.
@ 2021-10-12 13:23 Martin Liska
0 siblings, 0 replies; 2+ messages in thread
From: Martin Liska @ 2021-10-12 13:23 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:55af725e87379695faa4b11321e5b416f2981c74
commit 55af725e87379695faa4b11321e5b416f2981c74
Author: Martin Liska <mliska@suse.cz>
Date: Tue Oct 12 14:31:50 2021 +0200
Eliminate AUTODETECT_VALUE usage in options.
gcc/ChangeLog:
* common.opt: Stop using AUTODETECT_VALUE as Init value.
* toplev.c (AUTODETECT_VALUE): Remove it.
(process_options): Do not compare option values to
AUTODETECT_VALUE, but use rather OPTION_SET_P macro.
For flag_var_tracking, do not reset it if it is already set
based on flag_var_tracking_uninit.
Diff:
---
gcc/common.opt | 24 ++++++++++--------------
gcc/toplev.c | 32 +++++++++++++-------------------
2 files changed, 23 insertions(+), 33 deletions(-)
diff --git a/gcc/common.opt b/gcc/common.opt
index 4099effcc80..2b401abdc77 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -3003,19 +3003,16 @@ Common Undocumented Var(flag_use_linker_plugin)
; Positive if we should track variables, negative if we should run
; the var-tracking pass only to discard debug annotations, zero if
-; we're not to run it. When flag_var_tracking == 2 (AUTODETECT_VALUE) it
-; will be set according to optimize, debug_info_level and debug_hooks
-; in process_options ().
+; we're not to run it.
fvar-tracking
-Common Var(flag_var_tracking) Init(2) PerFunction
+Common Var(flag_var_tracking) Init(1) PerFunction
Perform variable tracking.
; Positive if we should track variables at assignments, negative if
; we should run the var-tracking pass only to discard debug
-; annotations. When flag_var_tracking_assignments ==
-; AUTODETECT_VALUE it will be set according to flag_var_tracking.
+; annotations.
fvar-tracking-assignments
-Common Var(flag_var_tracking_assignments) Init(2) PerFunction
+Common Var(flag_var_tracking_assignments) PerFunction
Perform variable tracking by annotating assignments.
; Nonzero if we should toggle flag_var_tracking_assignments after
@@ -3026,8 +3023,7 @@ Toggle -fvar-tracking-assignments.
; Positive if we should track uninitialized variables, negative if
; we should run the var-tracking pass only to discard debug
-; annotations. When flag_var_tracking_uninit == AUTODETECT_VALUE it
-; will be set according to flag_var_tracking.
+; annotations.
fvar-tracking-uninit
Common Var(flag_var_tracking_uninit) PerFunction
Perform variable tracking and also tag variables that are uninitialized.
@@ -3190,11 +3186,11 @@ Common Driver RejectNegative JoinedOrMissing
Generate debug information in default format.
gas-loc-support
-Common Driver Var(dwarf2out_as_loc_support) Init(2)
+Common Driver Var(dwarf2out_as_loc_support)
Assume assembler support for (DWARF2+) .loc directives.
gas-locview-support
-Common Driver Var(dwarf2out_as_locview_support) Init(2)
+Common Driver Var(dwarf2out_as_locview_support)
Assume assembler support for view in (DWARF2+) .loc directives.
gcoff
@@ -3248,7 +3244,7 @@ Common Driver JoinedOrMissing
Generate debug information in default extended format.
ginline-points
-Common Driver Var(debug_inline_points) Init(2)
+Common Driver Var(debug_inline_points)
Generate extended entry point information for inlined functions.
ginternal-reset-location-views
@@ -3288,7 +3284,7 @@ Common Driver JoinedOrMissing Negative(gvms)
Generate debug information in extended STABS format.
gstatement-frontiers
-Common Driver Var(debug_nonbind_markers_p) Init(2)
+Common Driver Var(debug_nonbind_markers_p)
Emit progressive recommended breakpoint locations.
gstrict-dwarf
@@ -3304,7 +3300,7 @@ Common Driver Var(flag_gtoggle)
Toggle debug information generation.
gvariable-location-views
-Common Driver Var(debug_variable_location_views, 1) Init(2)
+Common Driver Var(debug_variable_location_views, 1)
Augment variable location lists with progressive views.
gvariable-location-views=incompat5
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 167feac2583..5e0f548f1ea 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -119,10 +119,6 @@ unsigned int save_decoded_options_count;
/* Vector of saved Optimization decoded command line options. */
vec<cl_decoded_option> *save_opt_decoded_options;
-/* Used to enable -fvar-tracking, -fweb and -frename-registers according
- to optimize in process_options (). */
-#define AUTODETECT_VALUE 2
-
/* Debug hooks - dependent upon command line options. */
const struct gcc_debug_hooks *debug_hooks;
@@ -1490,8 +1486,9 @@ process_options (bool no_backend)
|| !dwarf_debuginfo_p ()
|| debug_hooks->var_location == do_nothing_debug_hooks.var_location)
{
- if (flag_var_tracking == 1
- || flag_var_tracking_uninit == 1)
+ if ((OPTION_SET_P (flag_var_tracking) && flag_var_tracking == 1)
+ || (OPTION_SET_P (flag_var_tracking_uninit)
+ && flag_var_tracking_uninit == 1))
{
if (debug_info_level < DINFO_LEVEL_NORMAL)
warning_at (UNKNOWN_LOCATION, 0,
@@ -1517,14 +1514,13 @@ process_options (bool no_backend)
(We already determined above that variable tracking is feasible.) */
if (flag_var_tracking_uninit == 1)
flag_var_tracking = 1;
-
- if (flag_var_tracking == AUTODETECT_VALUE)
+ else if (!OPTION_SET_P (flag_var_tracking) && flag_var_tracking)
flag_var_tracking = optimize >= 1;
- if (flag_var_tracking_uninit == AUTODETECT_VALUE)
+ if (!OPTION_SET_P (flag_var_tracking_uninit))
flag_var_tracking_uninit = flag_var_tracking;
- if (flag_var_tracking_assignments == AUTODETECT_VALUE)
+ if (!OPTION_SET_P (flag_var_tracking_assignments))
flag_var_tracking_assignments
= (flag_var_tracking
&& !(flag_selective_scheduling || flag_selective_scheduling2));
@@ -1540,21 +1536,19 @@ process_options (bool no_backend)
warning_at (UNKNOWN_LOCATION, 0,
"var-tracking-assignments changes selective scheduling");
- if (debug_nonbind_markers_p == AUTODETECT_VALUE)
+ if (!OPTION_SET_P (debug_nonbind_markers_p))
debug_nonbind_markers_p
= (optimize
&& debug_info_level >= DINFO_LEVEL_NORMAL
&& dwarf_debuginfo_p ()
&& !(flag_selective_scheduling || flag_selective_scheduling2));
- if (dwarf2out_as_loc_support == AUTODETECT_VALUE)
- dwarf2out_as_loc_support
- = dwarf2out_default_as_loc_support ();
- if (dwarf2out_as_locview_support == AUTODETECT_VALUE)
- dwarf2out_as_locview_support
- = dwarf2out_default_as_locview_support ();
+ if (!OPTION_SET_P (dwarf2out_as_loc_support))
+ dwarf2out_as_loc_support = dwarf2out_default_as_loc_support ();
+ if (!OPTION_SET_P (dwarf2out_as_locview_support))
+ dwarf2out_as_locview_support = dwarf2out_default_as_locview_support ();
- if (debug_variable_location_views == AUTODETECT_VALUE)
+ if (!OPTION_SET_P (debug_variable_location_views))
{
debug_variable_location_views
= (flag_var_tracking
@@ -1588,7 +1582,7 @@ process_options (bool no_backend)
debug_internal_reset_location_views = 0;
}
- if (debug_inline_points == AUTODETECT_VALUE)
+ if (!OPTION_SET_P (debug_inline_points))
debug_inline_points = debug_variable_location_views;
else if (debug_inline_points && !debug_nonbind_markers_p)
{
^ permalink raw reply [flat|nested] 2+ messages in thread
* [gcc(refs/users/marxin/heads/remove-AUTODETECT_VALUE-opt-value)] Eliminate AUTODETECT_VALUE usage in options.
@ 2021-10-12 12:33 Martin Liska
0 siblings, 0 replies; 2+ messages in thread
From: Martin Liska @ 2021-10-12 12:33 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:993045a79b559a4f21b66394a02a360db97b233d
commit 993045a79b559a4f21b66394a02a360db97b233d
Author: Martin Liska <mliska@suse.cz>
Date: Tue Oct 12 14:31:50 2021 +0200
Eliminate AUTODETECT_VALUE usage in options.
gcc/ChangeLog:
* common.opt: Stop using AUTODETECT_VALUE as Init value.
* toplev.c (AUTODETECT_VALUE): Remove it.
(process_options): Do not compare option values to
AUTODETECT_VALUE, but use rather OPTION_SET_P macro.
For flag_var_tracking, do not reset it if it is already set
based on flag_var_tracking_uninit.
Diff:
---
gcc/common.opt | 24 ++++++++++--------------
gcc/toplev.c | 27 ++++++++++-----------------
2 files changed, 20 insertions(+), 31 deletions(-)
diff --git a/gcc/common.opt b/gcc/common.opt
index 4099effcc80..62791298ca2 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -3003,19 +3003,16 @@ Common Undocumented Var(flag_use_linker_plugin)
; Positive if we should track variables, negative if we should run
; the var-tracking pass only to discard debug annotations, zero if
-; we're not to run it. When flag_var_tracking == 2 (AUTODETECT_VALUE) it
-; will be set according to optimize, debug_info_level and debug_hooks
-; in process_options ().
+; we're not to run it.
fvar-tracking
-Common Var(flag_var_tracking) Init(2) PerFunction
+Common Var(flag_var_tracking) PerFunction
Perform variable tracking.
; Positive if we should track variables at assignments, negative if
; we should run the var-tracking pass only to discard debug
-; annotations. When flag_var_tracking_assignments ==
-; AUTODETECT_VALUE it will be set according to flag_var_tracking.
+; annotations.
fvar-tracking-assignments
-Common Var(flag_var_tracking_assignments) Init(2) PerFunction
+Common Var(flag_var_tracking_assignments) PerFunction
Perform variable tracking by annotating assignments.
; Nonzero if we should toggle flag_var_tracking_assignments after
@@ -3026,8 +3023,7 @@ Toggle -fvar-tracking-assignments.
; Positive if we should track uninitialized variables, negative if
; we should run the var-tracking pass only to discard debug
-; annotations. When flag_var_tracking_uninit == AUTODETECT_VALUE it
-; will be set according to flag_var_tracking.
+; annotations.
fvar-tracking-uninit
Common Var(flag_var_tracking_uninit) PerFunction
Perform variable tracking and also tag variables that are uninitialized.
@@ -3190,11 +3186,11 @@ Common Driver RejectNegative JoinedOrMissing
Generate debug information in default format.
gas-loc-support
-Common Driver Var(dwarf2out_as_loc_support) Init(2)
+Common Driver Var(dwarf2out_as_loc_support)
Assume assembler support for (DWARF2+) .loc directives.
gas-locview-support
-Common Driver Var(dwarf2out_as_locview_support) Init(2)
+Common Driver Var(dwarf2out_as_locview_support)
Assume assembler support for view in (DWARF2+) .loc directives.
gcoff
@@ -3248,7 +3244,7 @@ Common Driver JoinedOrMissing
Generate debug information in default extended format.
ginline-points
-Common Driver Var(debug_inline_points) Init(2)
+Common Driver Var(debug_inline_points)
Generate extended entry point information for inlined functions.
ginternal-reset-location-views
@@ -3288,7 +3284,7 @@ Common Driver JoinedOrMissing Negative(gvms)
Generate debug information in extended STABS format.
gstatement-frontiers
-Common Driver Var(debug_nonbind_markers_p) Init(2)
+Common Driver Var(debug_nonbind_markers_p)
Emit progressive recommended breakpoint locations.
gstrict-dwarf
@@ -3304,7 +3300,7 @@ Common Driver Var(flag_gtoggle)
Toggle debug information generation.
gvariable-location-views
-Common Driver Var(debug_variable_location_views, 1) Init(2)
+Common Driver Var(debug_variable_location_views, 1)
Augment variable location lists with progressive views.
gvariable-location-views=incompat5
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 167feac2583..26065e422d3 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -119,10 +119,6 @@ unsigned int save_decoded_options_count;
/* Vector of saved Optimization decoded command line options. */
vec<cl_decoded_option> *save_opt_decoded_options;
-/* Used to enable -fvar-tracking, -fweb and -frename-registers according
- to optimize in process_options (). */
-#define AUTODETECT_VALUE 2
-
/* Debug hooks - dependent upon command line options. */
const struct gcc_debug_hooks *debug_hooks;
@@ -1517,14 +1513,13 @@ process_options (bool no_backend)
(We already determined above that variable tracking is feasible.) */
if (flag_var_tracking_uninit == 1)
flag_var_tracking = 1;
-
- if (flag_var_tracking == AUTODETECT_VALUE)
+ else if (!OPTION_SET_P (flag_var_tracking))
flag_var_tracking = optimize >= 1;
- if (flag_var_tracking_uninit == AUTODETECT_VALUE)
+ if (!OPTION_SET_P (flag_var_tracking_uninit))
flag_var_tracking_uninit = flag_var_tracking;
- if (flag_var_tracking_assignments == AUTODETECT_VALUE)
+ if (!OPTION_SET_P (flag_var_tracking_assignments))
flag_var_tracking_assignments
= (flag_var_tracking
&& !(flag_selective_scheduling || flag_selective_scheduling2));
@@ -1540,21 +1535,19 @@ process_options (bool no_backend)
warning_at (UNKNOWN_LOCATION, 0,
"var-tracking-assignments changes selective scheduling");
- if (debug_nonbind_markers_p == AUTODETECT_VALUE)
+ if (!OPTION_SET_P (debug_nonbind_markers_p))
debug_nonbind_markers_p
= (optimize
&& debug_info_level >= DINFO_LEVEL_NORMAL
&& dwarf_debuginfo_p ()
&& !(flag_selective_scheduling || flag_selective_scheduling2));
- if (dwarf2out_as_loc_support == AUTODETECT_VALUE)
- dwarf2out_as_loc_support
- = dwarf2out_default_as_loc_support ();
- if (dwarf2out_as_locview_support == AUTODETECT_VALUE)
- dwarf2out_as_locview_support
- = dwarf2out_default_as_locview_support ();
+ if (!OPTION_SET_P (dwarf2out_as_loc_support))
+ dwarf2out_as_loc_support = dwarf2out_default_as_loc_support ();
+ if (!OPTION_SET_P (dwarf2out_as_locview_support))
+ dwarf2out_as_locview_support = dwarf2out_default_as_locview_support ();
- if (debug_variable_location_views == AUTODETECT_VALUE)
+ if (!OPTION_SET_P (debug_variable_location_views))
{
debug_variable_location_views
= (flag_var_tracking
@@ -1588,7 +1581,7 @@ process_options (bool no_backend)
debug_internal_reset_location_views = 0;
}
- if (debug_inline_points == AUTODETECT_VALUE)
+ if (!OPTION_SET_P (debug_inline_points))
debug_inline_points = debug_variable_location_views;
else if (debug_inline_points && !debug_nonbind_markers_p)
{
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-10-12 13:23 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-12 13:23 [gcc(refs/users/marxin/heads/remove-AUTODETECT_VALUE-opt-value)] Eliminate AUTODETECT_VALUE usage in options Martin Liska
-- strict thread matches above, loose matches on Subject: below --
2021-10-12 12:33 Martin Liska
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).