aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2020-01-28 04:43:34 -0800
committerH.J. Lu <hjl.tools@gmail.com>2020-01-28 04:43:53 -0800
commit1e964774aec65472d7a0741d7faa6a884295fc81 (patch)
treeb54dbcfecf7aea5236863494e0780e7f0dc259ef /gcc
parent928605936939d4364b5019b2bdda63612fbc4fdb (diff)
downloadgcc-1e964774aec65472d7a0741d7faa6a884295fc81.zip
gcc-1e964774aec65472d7a0741d7faa6a884295fc81.tar.gz
gcc-1e964774aec65472d7a0741d7faa6a884295fc81.tar.bz2
i386: Don't use ix86_tune_ctrl_string in parse_mtune_ctrl_str
There are static void parse_mtune_ctrl_str (bool dump) { if (!ix86_tune_ctrl_string) return; parse_mtune_ctrl_str is only called from set_ix86_tune_features, which is only called from ix86_function_specific_restore and ix86_option_override_internal. parse_mtune_ctrl_str shouldn't use ix86_tune_ctrl_string which is defined with global_options. Instead, opts should be passed to parse_mtune_ctrl_str. PR target/91399 * config/i386/i386-options.c (set_ix86_tune_features): Add an argument of a pointer to struct gcc_options and pass it to parse_mtune_ctrl_str. (ix86_function_specific_restore): Pass opts to set_ix86_tune_features. (ix86_option_override_internal): Likewise. (parse_mtune_ctrl_str): Add an argument of a pointer to struct gcc_options and use it for x_ix86_tune_ctrl_string.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/config/i386/i386-options.c18
2 files changed, 22 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9fc93c9..2a000e5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,15 @@
+2020-01-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/91399
+ * config/i386/i386-options.c (set_ix86_tune_features): Add an
+ argument of a pointer to struct gcc_options and pass it to
+ parse_mtune_ctrl_str.
+ (ix86_function_specific_restore): Pass opts to
+ set_ix86_tune_features.
+ (ix86_option_override_internal): Likewise.
+ (parse_mtune_ctrl_str): Add an argument of a pointer to struct
+ gcc_options and use it for x_ix86_tune_ctrl_string.
+
2020-01-28 Richard Sandiford <richard.sandiford@arm.com>
PR rtl-optimization/87763
diff --git a/gcc/config/i386/i386-options.c b/gcc/config/i386/i386-options.c
index 2acc9fb..e0be493 100644
--- a/gcc/config/i386/i386-options.c
+++ b/gcc/config/i386/i386-options.c
@@ -741,7 +741,8 @@ ix86_option_override_internal (bool main_args_p,
struct gcc_options *opts,
struct gcc_options *opts_set);
static void
-set_ix86_tune_features (enum processor_type ix86_tune, bool dump);
+set_ix86_tune_features (struct gcc_options *opts,
+ enum processor_type ix86_tune, bool dump);
/* Restore the current options */
@@ -810,7 +811,7 @@ ix86_function_specific_restore (struct gcc_options *opts,
/* Recreate the tune optimization tests */
if (old_tune != ix86_tune)
- set_ix86_tune_features (ix86_tune, false);
+ set_ix86_tune_features (opts, ix86_tune, false);
}
/* Adjust target options after streaming them in. This is mainly about
@@ -1538,13 +1539,13 @@ ix86_parse_stringop_strategy_string (char *strategy_str, bool is_memset)
print the features that are explicitly set. */
static void
-parse_mtune_ctrl_str (bool dump)
+parse_mtune_ctrl_str (struct gcc_options *opts, bool dump)
{
- if (!ix86_tune_ctrl_string)
+ if (!opts->x_ix86_tune_ctrl_string)
return;
char *next_feature_string = NULL;
- char *curr_feature_string = xstrdup (ix86_tune_ctrl_string);
+ char *curr_feature_string = xstrdup (opts->x_ix86_tune_ctrl_string);
char *orig = curr_feature_string;
int i;
do
@@ -1583,7 +1584,8 @@ parse_mtune_ctrl_str (bool dump)
processor type. */
static void
-set_ix86_tune_features (enum processor_type ix86_tune, bool dump)
+set_ix86_tune_features (struct gcc_options *opts,
+ enum processor_type ix86_tune, bool dump)
{
unsigned HOST_WIDE_INT ix86_tune_mask = HOST_WIDE_INT_1U << ix86_tune;
int i;
@@ -1605,7 +1607,7 @@ set_ix86_tune_features (enum processor_type ix86_tune, bool dump)
ix86_tune_features[i] ? "on" : "off");
}
- parse_mtune_ctrl_str (dump);
+ parse_mtune_ctrl_str (opts, dump);
}
@@ -2364,7 +2366,7 @@ ix86_option_override_internal (bool main_args_p,
XDELETEVEC (s);
}
- set_ix86_tune_features (ix86_tune, opts->x_ix86_dump_tunes);
+ set_ix86_tune_features (opts, ix86_tune, opts->x_ix86_dump_tunes);
ix86_recompute_optlev_based_flags (opts, opts_set);