http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56286
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |compile-time-hog, | |wrong-code Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2013-02-11 AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-11 12:55:06 UTC --- This blocks fixing of tree-ssa-loop-manip.c:find_uses_to_rename /* ??? If CHANGED_BBS is empty we rewrite the whole function -- why? */ if (changed_bbs && !bitmap_empty_p (changed_bbs)) { EXECUTE_IF_SET_IN_BITMAP (changed_bbs, 0, index, bi) which can be a major resource hog. Also relying on that bug is broken, without checking we can end up generating wrong-code this way. Incremental betterness can be achieved by Index: gcc/tree-vect-stmts.c =================================================================== --- gcc/tree-vect-stmts.c (revision 195938) +++ gcc/tree-vect-stmts.c (working copy) @@ -5834,46 +5834,6 @@ vect_transform_stmt (gimple stmt, gimple } } - /* Handle inner-loop stmts whose DEF is used in the loop-nest that - is being vectorized, but outside the immediately enclosing loop. */ - if (vec_stmt ... - } - } - } - /* Handle stmts whose DEF is used outside the loop-nest that is being vectorized. */ But still FAIL: gcc.dg/vect/no-scevccp-outer-22.c (internal compiler error) FAIL: gcc.dg/vect/no-scevccp-outer-22.c (test for excess errors) WARNING: gcc.dg/vect/no-scevccp-outer-22.c compilation failed to produce executable FAIL: gcc.dg/vect/no-scevccp-noreassoc-outer-4.c (internal compiler error) FAIL: gcc.dg/vect/no-scevccp-noreassoc-outer-4.c (test for excess errors) WARNING: gcc.dg/vect/no-scevccp-noreassoc-outer-4.c compilation failed to produce executable FAIL: gcc.dg/vect/no-scevccp-noreassoc-outer-4.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1