https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62283
--- Comment #21 from Richard Biener <rguenth at gcc dot gnu.org> --- Author: rguenth Date: Tue Apr 28 08:30:44 2015 New Revision: 222514 URL: https://gcc.gnu.org/viewcvs?rev=222514&root=gcc&view=rev Log: 2015-04-28 Richard Biener <rguent...@suse.de> PR tree-optimization/62283 * tree-vect-slp.c (vect_build_slp_tree): When the SLP build fails fatally and we are vectorizing a basic-block simply cause the child to be constructed piecewise. (vect_analyze_slp_cost_1): Adjust. (vect_detect_hybrid_slp_stmts): Likewise. (vect_bb_slp_scalar_cost): Likewise. (vect_get_constant_vectors): For piecewise constructed constants place them after the last def. (vect_get_slp_defs): Adjust. * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB externals for basic-block vectorization. * gfortran.dg/vect/pr62283-2.f: New testcase. * gcc.dg/vect/bb-slp-14.c: Adjust. Added: trunk/gcc/testsuite/gfortran.dg/vect/pr62283-2.f Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/vect/bb-slp-14.c trunk/gcc/tree-vect-slp.c trunk/gcc/tree-vect-stmts.c