Commit 1e964774 by H.J. Lu

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.
parent 92860593
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> 2020-01-28 Richard Sandiford <richard.sandiford@arm.com>
PR rtl-optimization/87763 PR rtl-optimization/87763
......
...@@ -741,7 +741,8 @@ ix86_option_override_internal (bool main_args_p, ...@@ -741,7 +741,8 @@ ix86_option_override_internal (bool main_args_p,
struct gcc_options *opts, struct gcc_options *opts,
struct gcc_options *opts_set); struct gcc_options *opts_set);
static void 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 */ /* Restore the current options */
...@@ -810,7 +811,7 @@ ix86_function_specific_restore (struct gcc_options *opts, ...@@ -810,7 +811,7 @@ ix86_function_specific_restore (struct gcc_options *opts,
/* Recreate the tune optimization tests */ /* Recreate the tune optimization tests */
if (old_tune != ix86_tune) 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 /* 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) ...@@ -1538,13 +1539,13 @@ ix86_parse_stringop_strategy_string (char *strategy_str, bool is_memset)
print the features that are explicitly set. */ print the features that are explicitly set. */
static void 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; return;
char *next_feature_string = NULL; 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; char *orig = curr_feature_string;
int i; int i;
do do
...@@ -1583,7 +1584,8 @@ parse_mtune_ctrl_str (bool dump) ...@@ -1583,7 +1584,8 @@ parse_mtune_ctrl_str (bool dump)
processor type. */ processor type. */
static void 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; unsigned HOST_WIDE_INT ix86_tune_mask = HOST_WIDE_INT_1U << ix86_tune;
int i; int i;
...@@ -1605,7 +1607,7 @@ set_ix86_tune_features (enum processor_type ix86_tune, bool dump) ...@@ -1605,7 +1607,7 @@ set_ix86_tune_features (enum processor_type ix86_tune, bool dump)
ix86_tune_features[i] ? "on" : "off"); 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, ...@@ -2364,7 +2366,7 @@ ix86_option_override_internal (bool main_args_p,
XDELETEVEC (s); 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); ix86_recompute_optlev_based_flags (opts, opts_set);
......
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