re PR tree-optimization/87105 (Autovectorization [X86, SSE2, AVX2, DoublePrecision])
authorRichard Biener <rguenther@suse.de>
Tue, 23 Oct 2018 11:34:56 +0000 (11:34 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 23 Oct 2018 11:34:56 +0000 (11:34 +0000)
commit1cab645d3e321132dca5e43d9d5057c60852a17c
tree51747567d200a1864458cc228e3655d135fb351a
parent7a43314023a15cbcd3e5bf8f3ccbc67bce8ef119
re PR tree-optimization/87105 (Autovectorization [X86, SSE2, AVX2, DoublePrecision])

2018-10-23  Richard Biener  <rguenther@suse.de>

PR tree-optimization/87105
PR tree-optimization/87608
* passes.def (pass_all_early_optimizations): Add early phi-opt
after dce.
* tree-ssa-phiopt.c (value_replacement): Ignore NOPs and predicts in
addition to debug stmts.
(tree_ssa_phiopt_worker): Add early_p argument, do only min/max
and abs replacement early.
* tree-cfg.c (gimple_empty_block_p): Likewise.

* g++.dg/tree-ssa/phiopt-1.C: New testcase.
g++.dg/vect/slp-pr87105.cc: Likewise.
* g++.dg/tree-ssa/pr21463.C: Scan phiopt2 because this testcase
relies on phiprop run before.
* g++.dg/tree-ssa/pr30738.C: Likewise.
* g++.dg/tree-ssa/pr57380.C: Likewise.
* gcc.dg/tree-ssa/pr84859.c: Likewise.
* gcc.dg/tree-ssa/pr45397.c: Scan phiopt2 because phiopt1 is
confused by copies in the IL left by EVRP.
* gcc.dg/tree-ssa/phi-opt-5.c: Likewise, this time confused
by predictors.
* gcc.dg/tree-ssa/phi-opt-12.c: Scan phiopt2.
* gcc.dg/pr24574.c: Likewise.
* g++.dg/tree-ssa/pr86544.C: Scan phiopt4.

From-SVN: r265421
22 files changed:
gcc/ChangeLog
gcc/passes.def
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/tree-ssa/phiopt-1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/tree-ssa/pr21463.C
gcc/testsuite/g++.dg/tree-ssa/pr30738.C
gcc/testsuite/g++.dg/tree-ssa/pr57380.C
gcc/testsuite/g++.dg/tree-ssa/pr86544.C
gcc/testsuite/g++.dg/vect/slp-pr87105.cc [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr24574.c
gcc/testsuite/gcc.dg/tree-ssa/20040514-1.c
gcc/testsuite/gcc.dg/tree-ssa/20040518-1.c
gcc/testsuite/gcc.dg/tree-ssa/phi-opt-12.c
gcc/testsuite/gcc.dg/tree-ssa/phi-opt-5.c
gcc/testsuite/gcc.dg/tree-ssa/phi-opt-6.c
gcc/testsuite/gcc.dg/tree-ssa/phi-opt-8.c
gcc/testsuite/gcc.dg/tree-ssa/popcount3.c
gcc/testsuite/gcc.dg/tree-ssa/pr45397.c
gcc/testsuite/gcc.dg/tree-ssa/pr84859.c
gcc/testsuite/gcc.dg/uninit-15.c
gcc/tree-cfg.c
gcc/tree-ssa-phiopt.c