From e622a32db78300821fc1327637ec6413febc2c66 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Tue, 15 Oct 2019 07:28:26 +0000 Subject: re PR middle-end/92046 (Command line options (that are per-functions) are affecting --params which are global.) 2019-10-15 Richard Biener PR middle-end/92046 * common.opt (fallow-store-data-races): New. * params.def (PARAM_ALLOW_STORE_DATA_RACES): Remove. * params.h (ALLOW_STORE_DATA_RACES): Likewise. * doc/invoke.texi (fallow-store-data-races): Document. (--param allow-store-data-races): Remove docs. * opts.c (default_options_table): Enable -fallow-store-data-races at -Ofast. (default_options_optimization): Do not enable --param allow-store-data-races at -Ofast. * tree-if-conv.c (ifcvt_memrefs_wont_trap): Use flag_store_data_races instead of PARAM_ALLOW_STORE_DATA_RACES. * tree-ssa-loop-im.c (execute_sm): Likewise. * c-c++-common/cxxbitfields-3.c: Adjust. * c-c++-common/cxxbitfields-6.c: Likewise. * c-c++-common/simulate-thread/bitfields-1.c: Likewise. * c-c++-common/simulate-thread/bitfields-2.c: Likewise. * c-c++-common/simulate-thread/bitfields-3.c: Likewise. * c-c++-common/simulate-thread/bitfields-4.c: Likewise. * g++.dg/simulate-thread/bitfields-2.C: Likewise. * g++.dg/simulate-thread/bitfields.C: Likewise. * gcc.dg/lto/pr52097_0.c: Likewise. * gcc.dg/simulate-thread/speculative-store-2.c: Likewise. * gcc.dg/simulate-thread/speculative-store-3.c: Likewise. * gcc.dg/simulate-thread/speculative-store-4.c: Likewise. * gcc.dg/simulate-thread/speculative-store.c: Likewise. * gcc.dg/tree-ssa/20050314-1.c: Likewise. From-SVN: r276985 --- gcc/tree-ssa-loop-im.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/tree-ssa-loop-im.c') diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c index c247d74..7866418 100644 --- a/gcc/tree-ssa-loop-im.c +++ b/gcc/tree-ssa-loop-im.c @@ -2100,7 +2100,7 @@ execute_sm (class loop *loop, vec exits, im_mem_ref *ref) for_each_index (&ref->mem.ref, force_move_till, &fmt_data); if (bb_in_transaction (loop_preheader_edge (loop)->src) - || (! PARAM_VALUE (PARAM_ALLOW_STORE_DATA_RACES) + || (! flag_store_data_races && ! ref_always_accessed_p (loop, ref, true))) multi_threaded_model_p = true; -- cgit v1.1