diff options
author | Bin Cheng <bin.cheng@arm.com> | 2016-05-03 09:04:46 +0000 |
---|---|---|
committer | Bin Cheng <amker@gcc.gnu.org> | 2016-05-03 09:04:46 +0000 |
commit | 1cfcd39eee915a7582adc113fa6e7faac8b943e4 (patch) | |
tree | 5411de44c126dfd942b7250b8f84f5f31dbfa368 /gcc/doc | |
parent | 15526589cf190bc111e1ef27f713e2d46c449172 (diff) | |
download | gcc-1cfcd39eee915a7582adc113fa6e7faac8b943e4.zip gcc-1cfcd39eee915a7582adc113fa6e7faac8b943e4.tar.gz gcc-1cfcd39eee915a7582adc113fa6e7faac8b943e4.tar.bz2 |
re PR tree-optimization/56541 (vectorizaton fails in conditional assignment of a constant)
PR tree-optimization/56541
* doc/invoke.texi (@item max-tree-if-conversion-phi-args): New item.
* params.def (PARAM_MAX_TREE_IF_CONVERSION_PHI_ARGS): new param.
* tree-if-conv.c (MAX_PHI_ARG_NUM): new macro.
(any_complicated_phi): new static variable.
(aggressive_if_conv): delete.
(if_convertible_phi_p): support phis with more than two arguments.
(if_convertible_bb_p): remvoe check on aggressive_if_conv and
critical pred edges.
(ifcvt_split_critical_edges): support phis with more than two
arguments by checking new parameter. only split critical edges
if needed.
(tree_if_conversion): handle simd pragma marked loop using new
local variable aggressive_if_conv. check any_complicated_phi.
gcc/testsuite
PR tree-optimization/56541
* gcc.dg/tree-ssa/ifc-pr56541.c: new test.
* gcc.dg/vect/pr56541.c: new test.
From-SVN: r235808
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/invoke.texi | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 515d948..f5413fa 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -9020,6 +9020,10 @@ Large expressions slow the analyzer. Bound on the complexity of the expressions in the scalar evolutions analyzer. Complex expressions slow the analyzer. +@item max-tree-if-conversion-phi-args +Maximum number of arguments in a PHI supported by TREE if conversion +unless the loop is marked with simd pragma. + @item vect-max-version-for-alignment-checks The maximum number of run-time checks that can be performed when doing loop versioning for alignment in the vectorizer. |