Commit bef69eb5 by Richard Biener Committed by Richard Biener

common.opt (ftree-loop-if-convert-stores): Mark as preserved for backward compatibility.

2016-11-17  Richard Biener  <rguenther@suse.de>

	* 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
parent c90928c8
2016-11-17 Richard Biener <rguenther@suse.de>
* 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 <kyrylo.tkachov@arm.com>
* config/aarch64/predicates.md (aarch64_reg_or_fp_zero): Check for
......@@ -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,
......
......@@ -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
......
......@@ -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);
......
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