Commit 2fff1c81 by Jan Hubicka Committed by Jan Hubicka

lto-wrapper.c (merge_and_complain): Do not merge fexceptions...


	* lto-wrapper.c (merge_and_complain): Do not merge
	fexceptions, fnon_call_exceptions, ftrapv, ffp_contract_, fmath_errno,
	fsigned_zeros, ftrapping_math, fwrapv.
	(append_compiler_options): Do not track these options.
	(append_linker_options): Likewie

From-SVN: r250035
parent 0eaf0bfe
2017-07-06 Jan Hubicka <hubicka@ucw.cz> 2017-07-06 Jan Hubicka <hubicka@ucw.cz>
* lto-wrapper.c (merge_and_complain): Do not merge
fexceptions, fnon_call_exceptions, ftrapv, ffp_contract_, fmath_errno,
fsigned_zeros, ftrapping_math, fwrapv.
(append_compiler_options): Do not track these options.
(append_linker_options): Likewie
2017-07-06 Jan Hubicka <hubicka@ucw.cz>
* cgraphunit.c (cgraph_node::finalize_function): When * cgraphunit.c (cgraph_node::finalize_function): When
!flag_toplevel_reorde set no_reorder flag. !flag_toplevel_reorde set no_reorder flag.
(varpool_node::finalize_decl): Likewise. (varpool_node::finalize_decl): Likewise.
......
...@@ -243,8 +243,6 @@ merge_and_complain (struct cl_decoded_option **decoded_options, ...@@ -243,8 +243,6 @@ merge_and_complain (struct cl_decoded_option **decoded_options,
case OPT_fPIE: case OPT_fPIE:
case OPT_fpie: case OPT_fpie:
case OPT_fcommon: case OPT_fcommon:
case OPT_fexceptions:
case OPT_fnon_call_exceptions:
case OPT_fgnu_tm: case OPT_fgnu_tm:
/* Do what the old LTO code did - collect exactly one option /* Do what the old LTO code did - collect exactly one option
setting per OPT code, we pick the first we encounter. setting per OPT code, we pick the first we encounter.
...@@ -257,25 +255,6 @@ merge_and_complain (struct cl_decoded_option **decoded_options, ...@@ -257,25 +255,6 @@ merge_and_complain (struct cl_decoded_option **decoded_options,
append_option (decoded_options, decoded_options_count, foption); append_option (decoded_options, decoded_options_count, foption);
break; break;
case OPT_ftrapv:
case OPT_ffp_contract_:
/* For selected options we can merge conservatively. */
for (j = 0; j < *decoded_options_count; ++j)
if ((*decoded_options)[j].opt_index == foption->opt_index)
break;
if (j == *decoded_options_count)
append_option (decoded_options, decoded_options_count, foption);
/* FP_CONTRACT_OFF < FP_CONTRACT_ON < FP_CONTRACT_FAST,
-fno-trapv < -ftrapv,
-fno-strict-overflow < -fstrict-overflow */
else if (foption->value < (*decoded_options)[j].value)
(*decoded_options)[j] = *foption;
break;
case OPT_fmath_errno:
case OPT_fsigned_zeros:
case OPT_ftrapping_math:
case OPT_fwrapv:
case OPT_fopenmp: case OPT_fopenmp:
case OPT_fopenacc: case OPT_fopenacc:
case OPT_fcilkplus: case OPT_fcilkplus:
...@@ -286,10 +265,10 @@ merge_and_complain (struct cl_decoded_option **decoded_options, ...@@ -286,10 +265,10 @@ merge_and_complain (struct cl_decoded_option **decoded_options,
break; break;
if (j == *decoded_options_count) if (j == *decoded_options_count)
append_option (decoded_options, decoded_options_count, foption); append_option (decoded_options, decoded_options_count, foption);
/* -fmath-errno > -fno-math-errno, /* -fopenmp > -fno-openmp,
-fsigned-zeros > -fno-signed-zeros, -fopenacc > -fno-openacc,
-ftrapping-math > -fno-trapping-math, -fcilkplus > -fno-cilkplus,
-fwrapv > -fno-wrapv. */ -fcheck_pointer_bounds > -fcheck_pointer_bounds */
else if (foption->value > (*decoded_options)[j].value) else if (foption->value > (*decoded_options)[j].value)
(*decoded_options)[j] = *foption; (*decoded_options)[j] = *foption;
break; break;
...@@ -307,17 +286,6 @@ merge_and_complain (struct cl_decoded_option **decoded_options, ...@@ -307,17 +286,6 @@ merge_and_complain (struct cl_decoded_option **decoded_options,
foption->orig_option_with_args_text); foption->orig_option_with_args_text);
break; break;
case OPT_freg_struct_return:
case OPT_fpcc_struct_return:
for (j = 0; j < *decoded_options_count; ++j)
if ((*decoded_options)[j].opt_index == foption->opt_index)
break;
if (j == *decoded_options_count)
fatal_error (input_location,
"Option %s not used consistently in all LTO input"
" files", foption->orig_option_with_args_text);
break;
case OPT_foffload_abi_: case OPT_foffload_abi_:
for (j = 0; j < *decoded_options_count; ++j) for (j = 0; j < *decoded_options_count; ++j)
if ((*decoded_options)[j].opt_index == foption->opt_index) if ((*decoded_options)[j].opt_index == foption->opt_index)
...@@ -506,21 +474,11 @@ append_compiler_options (obstack *argv_obstack, struct cl_decoded_option *opts, ...@@ -506,21 +474,11 @@ append_compiler_options (obstack *argv_obstack, struct cl_decoded_option *opts,
case OPT_fPIE: case OPT_fPIE:
case OPT_fpie: case OPT_fpie:
case OPT_fcommon: case OPT_fcommon:
case OPT_fexceptions:
case OPT_fnon_call_exceptions:
case OPT_fgnu_tm: case OPT_fgnu_tm:
case OPT_freg_struct_return:
case OPT_fpcc_struct_return:
case OPT_ffp_contract_:
case OPT_fmath_errno:
case OPT_fsigned_zeros:
case OPT_ftrapping_math:
case OPT_fwrapv:
case OPT_fopenmp: case OPT_fopenmp:
case OPT_fopenacc: case OPT_fopenacc:
case OPT_fopenacc_dim_: case OPT_fopenacc_dim_:
case OPT_fcilkplus: case OPT_fcilkplus:
case OPT_ftrapv:
case OPT_foffload_abi_: case OPT_foffload_abi_:
case OPT_O: case OPT_O:
case OPT_Ofast: case OPT_Ofast:
...@@ -595,12 +553,6 @@ append_linker_options (obstack *argv_obstack, struct cl_decoded_option *opts, ...@@ -595,12 +553,6 @@ append_linker_options (obstack *argv_obstack, struct cl_decoded_option *opts,
/* We've handled these LTO options, do not pass them on. */ /* We've handled these LTO options, do not pass them on. */
continue; continue;
case OPT_freg_struct_return:
case OPT_fpcc_struct_return:
/* Ignore these, they are determined by the input files.
??? We fail to diagnose a possible mismatch here. */
continue;
case OPT_fopenmp: case OPT_fopenmp:
case OPT_fopenacc: case OPT_fopenacc:
case OPT_fcilkplus: case OPT_fcilkplus:
......
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