From: Richard Biener Date: Thu, 17 Nov 2016 12:38:47 +0000 (+0000) Subject: common.opt (ftree-loop-if-convert-stores): Mark as preserved for backward compatibility. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bef69eb57d7958e119fa581b376c6e05cb838c38;p=gcc.git common.opt (ftree-loop-if-convert-stores): Mark as preserved for backward compatibility. 2016-11-17 Richard Biener * common.opt (ftree-loop-if-convert-stores): Mark as preserved for backward compatibility. * doc/invoke.texi (ftree-loop-if-convert-stores): Remove. * tree-if-conv.c (pass_if_conversion::gate): Do not test flag_tree_loop_if_convert_stores. (pass_if_conversion::execute): Likewise. From-SVN: r242542 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1050391b8ef..e07caaa2623 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2016-11-17 Richard Biener + + * common.opt (ftree-loop-if-convert-stores): Mark as preserved for + backward compatibility. + * doc/invoke.texi (ftree-loop-if-convert-stores): Remove. + * tree-if-conv.c (pass_if_conversion::gate): Do not test + flag_tree_loop_if_convert_stores. + (pass_if_conversion::execute): Likewise. + 2016-11-17 Kyrylo Tkachov * config/aarch64/predicates.md (aarch64_reg_or_fp_zero): Check for diff --git a/gcc/common.opt b/gcc/common.opt index 5e8d72d6ae6..1fa3629f548 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -1526,8 +1526,8 @@ Common Report Var(flag_tree_loop_if_convert) Init(-1) Optimization Convert conditional jumps in innermost loops to branchless equivalents. ftree-loop-if-convert-stores -Common Report Var(flag_tree_loop_if_convert_stores) Optimization -Also if-convert conditional jumps containing memory writes. +Common Ignore +Does nothing. Preserved for backward compatibility. ; -finhibit-size-directive inhibits output of .size for ELF. ; This is used only for compiling crtstuff.c, diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 620225c37cf..e6c3dc267cf 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -412,7 +412,7 @@ Objective-C and Objective-C++ Dialects}. -ftree-builtin-call-dce -ftree-ccp -ftree-ch @gol -ftree-coalesce-vars -ftree-copy-prop -ftree-dce -ftree-dominator-opts @gol -ftree-dse -ftree-forwprop -ftree-fre -fcode-hoisting -ftree-loop-if-convert @gol --ftree-loop-if-convert-stores -ftree-loop-im @gol +-ftree-loop-im @gol -ftree-phiprop -ftree-loop-distribution -ftree-loop-distribute-patterns @gol -ftree-loop-ivcanon -ftree-loop-linear -ftree-loop-optimize @gol -ftree-loop-vectorize @gol @@ -8061,24 +8061,6 @@ the innermost loops in order to improve the ability of the vectorization pass to handle these loops. This is enabled by default if vectorization is enabled. -@item -ftree-loop-if-convert-stores -@opindex ftree-loop-if-convert-stores -Attempt to also if-convert conditional jumps containing memory writes. -This transformation can be unsafe for multi-threaded programs as it -transforms conditional memory writes into unconditional memory writes. -For example, -@smallexample -for (i = 0; i < N; i++) - if (cond) - A[i] = expr; -@end smallexample -is transformed to -@smallexample -for (i = 0; i < N; i++) - A[i] = cond ? expr : A[i]; -@end smallexample -potentially producing data races. - @item -ftree-loop-distribution @opindex ftree-loop-distribution Perform loop distribution. This flag can improve cache performance on diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c index 46d6b342328..dc97fc498df 100644 --- a/gcc/tree-if-conv.c +++ b/gcc/tree-if-conv.c @@ -2872,8 +2872,7 @@ pass_if_conversion::gate (function *fun) { return (((flag_tree_loop_vectorize || fun->has_force_vectorize_loops) && flag_tree_loop_if_convert != 0) - || flag_tree_loop_if_convert == 1 - || flag_tree_loop_if_convert_stores == 1); + || flag_tree_loop_if_convert == 1); } unsigned int @@ -2887,7 +2886,6 @@ pass_if_conversion::execute (function *fun) FOR_EACH_LOOP (loop, 0) if (flag_tree_loop_if_convert == 1 - || flag_tree_loop_if_convert_stores == 1 || ((flag_tree_loop_vectorize || loop->force_vectorize) && !loop->dont_vectorize)) todo |= tree_if_conversion (loop);