Commit 227b76c3 by Jan Hubicka Committed by Jan Hubicka

opts.c (finish_options): Move test for flag_split_stack after it has been initialized.

	* opts.c (finish_options): Move test for flag_split_stack after
	it has been initialized.

From-SVN: r249105
parent c3b0f4c6
2017-06-10 Jan Hubicka <hubicka@ucw.cz>
* opts.c (finish_options): Move test for flag_split_stack after
it has been initialized.
2017-06-11 Jason Merrill <jason@redhat.com> 2017-06-11 Jason Merrill <jason@redhat.com>
* tree.h (id_equal): New. * tree.h (id_equal): New.
......
...@@ -863,19 +863,6 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set, ...@@ -863,19 +863,6 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set,
opts->x_flag_reorder_blocks = 1; opts->x_flag_reorder_blocks = 1;
} }
/* If stack splitting is turned on, and the user did not explicitly
request function partitioning, turn off partitioning, as it
confuses the linker when trying to handle partitioned split-stack
code that calls a non-split-stack functions. But if partitioning
was turned on explicitly just hope for the best. */
if (opts->x_flag_split_stack
&& opts->x_flag_reorder_blocks_and_partition
&& !opts_set->x_flag_reorder_blocks_and_partition)
opts->x_flag_reorder_blocks_and_partition = 0;
if (opts->x_flag_reorder_blocks_and_partition
&& !opts_set->x_flag_reorder_functions)
opts->x_flag_reorder_functions = 1;
/* Pipelining of outer loops is only possible when general pipelining /* Pipelining of outer loops is only possible when general pipelining
capabilities are requested. */ capabilities are requested. */
...@@ -927,6 +914,20 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set, ...@@ -927,6 +914,20 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set,
} }
} }
/* If stack splitting is turned on, and the user did not explicitly
request function partitioning, turn off partitioning, as it
confuses the linker when trying to handle partitioned split-stack
code that calls a non-split-stack functions. But if partitioning
was turned on explicitly just hope for the best. */
if (opts->x_flag_split_stack
&& opts->x_flag_reorder_blocks_and_partition
&& !opts_set->x_flag_reorder_blocks_and_partition)
opts->x_flag_reorder_blocks_and_partition = 0;
if (opts->x_flag_reorder_blocks_and_partition
&& !opts_set->x_flag_reorder_functions)
opts->x_flag_reorder_functions = 1;
/* Tune vectorization related parametees according to cost model. */ /* Tune vectorization related parametees according to cost model. */
if (opts->x_flag_vect_cost_model == VECT_COST_MODEL_CHEAP) if (opts->x_flag_vect_cost_model == VECT_COST_MODEL_CHEAP)
{ {
......
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