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 |
|---|---|---|
| .. | ||
| param-max-aliased-pr26197.cc | Loading commit data... | |
| pr19951.cc | Loading commit data... | |
| pr21218.cc | Loading commit data... | |
| pr21734_1.cc | Loading commit data... | |
| pr21734_2.cc | Loading commit data... | |
| pr22543.cc | Loading commit data... | |
| pr33426-ivdep-2.cc | Loading commit data... | |
| pr33426-ivdep-3.cc | Loading commit data... | |
| pr33426-ivdep-4.cc | Loading commit data... | |
| pr33426-ivdep.cc | Loading commit data... | |
| pr33834_1.cc | Loading commit data... | |
| pr33834_2.cc | Loading commit data... | |
| pr33835.cc | Loading commit data... | |
| pr33860.cc | Loading commit data... | |
| pr33860a.cc | Loading commit data... | |
| pr36648.cc | Loading commit data... | |
| pr37143.C | Loading commit data... | |
| pr37174.cc | Loading commit data... | |
| pr43771.cc | Loading commit data... | |
| pr44861.cc | Loading commit data... | |
| pr45470-a.cc | Loading commit data... | |
| pr45470-b.cc | Loading commit data... | |
| pr50698.cc | Loading commit data... | |
| pr51485.cc | Loading commit data... | |
| pr58513.cc | Loading commit data... | |
| pr60000.cc | Loading commit data... | |
| pr60023.cc | Loading commit data... | |
| pr60559.cc | Loading commit data... | |
| pr60729.cc | Loading commit data... | |
| pr60836.cc | Loading commit data... | |
| pr60896.cc | Loading commit data... | |
| pr61171.cc | Loading commit data... | |
| pr64410.cc | Loading commit data... | |
| pr68145.cc | Loading commit data... | |
| pr68762-1.cc | Loading commit data... | |
| pr68762-2.cc | Loading commit data... | |
| pr68762.h | Loading commit data... | |
| pr70726.cc | Loading commit data... | |
| pr70729-nest.cc | Loading commit data... | |
| pr70729.cc | Loading commit data... | |
| pr70944.cc | Loading commit data... | |
| pr71483.c | Loading commit data... | |
| simd-bool-comparison-1.cc | Loading commit data... | |
| simd-bool-comparison-2.cc | Loading commit data... | |
| simd-clone-1.cc | Loading commit data... | |
| simd-clone-2.cc | Loading commit data... | |
| simd-clone-2.h | Loading commit data... | |
| simd-clone-3.cc | Loading commit data... | |
| simd-clone-4.cc | Loading commit data... | |
| simd-clone-4.h | Loading commit data... | |
| simd-clone-5.cc | Loading commit data... | |
| simd-clone-6.cc | Loading commit data... | |
| simd-clone-7.cc | Loading commit data... | |
| simd-mask-store-bool.cc | Loading commit data... | |
| slp-pr50413.cc | Loading commit data... | |
| slp-pr50819.cc | Loading commit data... | |
| slp-pr56812.cc | Loading commit data... | |
| vect.exp | Loading commit data... |