2017-07-20 Richard Biener <rguenther@suse.de> PR tree-optimization/61171 * tree-vectorizer.h (slp_instance): Add reduc_phis member. (vect_analyze_stmt): Add slp instance parameter. (vectorizable_reduction): Likewise. * tree-vect-loop.c (vect_analyze_loop_operations): Adjust. (vect_is_simple_reduction): Deal with chains not detected as SLP reduction chain, specifically not properly associated chains containing a mix of plus/minus. (get_reduction_op): Remove. (get_initial_defs_for_reduction): Simplify, pass in whether this is a reduction chain, pass in the SLP node for the PHIs. (vect_create_epilog_for_reduction): Get the SLP instance as arg and adjust. (vectorizable_reduction): Get the SLP instance as arg. During analysis remember the SLP node with the PHIs in the instance. Simplify getting at the vectorized reduction PHIs. * tree-vect-slp.c (vect_slp_analyze_node_operations): Pass through SLP instance. (vect_slp_analyze_operations): Likewise. * tree-vect-stms.c (vect_analyze_stmt): Likewise. (vect_transform_stmt): Likewise. * g++.dg/vect/pr61171.cc: New testcase. * gfortran.dg/vect/pr61171.f: Likewise. * gcc.dg/vect/vect-reduc-11.c: Likewise. From-SVN: r250382
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| O3-pr36119.f90 | Loading commit data... | |
| O3-pr39595.f | Loading commit data... | |
| O3-pr49957.f | Loading commit data... | |
| Ofast-pr50414.f90 | Loading commit data... | |
| cost-model-pr34445.f | Loading commit data... | |
| cost-model-pr34445a.f | Loading commit data... | |
| fast-math-mgrid-resid.f | Loading commit data... | |
| fast-math-pr33299.f90 | Loading commit data... | |
| fast-math-pr37021.f90 | Loading commit data... | |
| fast-math-pr38968.f90 | Loading commit data... | |
| fast-math-real8-pr40801.f90 | Loading commit data... | |
| fast-math-rnflow-trs2a2.f90 | Loading commit data... | |
| fast-math-vect-8.f90 | Loading commit data... | |
| no-fre-no-copy-prop-O3-pr51704.f90 | Loading commit data... | |
| no-vfa-pr32377.f90 | Loading commit data... | |
| no-vfa-pr32457.f90 | Loading commit data... | |
| pr19049.f90 | Loading commit data... | |
| pr32377.f90 | Loading commit data... | |
| pr32380.f | Loading commit data... | |
| pr33301.f | Loading commit data... | |
| pr39318.f90 | Loading commit data... | |
| pr45714-a.f | Loading commit data... | |
| pr45714-b.f | Loading commit data... | |
| pr46213.f90 | Loading commit data... | |
| pr48329.f90 | Loading commit data... | |
| pr50178.f90 | Loading commit data... | |
| pr50412.f90 | Loading commit data... | |
| pr51058-2.f90 | Loading commit data... | |
| pr51058.f90 | Loading commit data... | |
| pr51285.f90 | Loading commit data... | |
| pr52580.f | Loading commit data... | |
| pr60510.f | Loading commit data... | |
| pr61171.f | Loading commit data... | |
| pr62283-2.f | Loading commit data... | |
| pr62283.f | Loading commit data... | |
| pr69466.f90 | Loading commit data... | |
| pr69882.f90 | Loading commit data... | |
| pr69980.f90 | Loading commit data... | |
| pr70043.f90 | Loading commit data... | |
| pr77848.f | Loading commit data... | |
| vect-1.f90 | Loading commit data... | |
| vect-2.f90 | Loading commit data... | |
| vect-3.f90 | Loading commit data... | |
| vect-4.f90 | Loading commit data... | |
| vect-5.f90 | Loading commit data... | |
| vect-6.f | Loading commit data... | |
| vect-7.f90 | Loading commit data... | |
| vect-8.f90 | Loading commit data... | |
| vect-9.f90 | Loading commit data... | |
| vect-do-concurrent-1.f90 | Loading commit data... | |
| vect-gems.f90 | Loading commit data... | |
| vect.exp | Loading commit data... |