This patch fixes an ICE in vectorization dump when section anchors are present.
Bootstrapped/tested on x86_64 and PPC 64 and found no new failures. OK for trunk? Thanks, Sharad 2013-01-18 Sharad Singhai <sing...@google.com> PR tree-optimization/55995 * dumpfile.c (dump_loc): Print location only if available. * testsuite/gcc.dg/vect/vect.exp: Use "details" flags for dump info. * tree-vectorizer.c (increase_alignment): Intialize vect_location. Index: dumpfile.c =================================================================== --- dumpfile.c (revision 195244) +++ dumpfile.c (working copy) @@ -260,14 +260,13 @@ dump_loc (int dump_kind, FILE *dfile, source_locat /* Currently vectorization passes print location information. */ if (dump_kind) { - if (loc == UNKNOWN_LOCATION) + if (loc != UNKNOWN_LOCATION) + fprintf (dfile, "\n%s:%d: note: ", LOCATION_FILE (loc), + LOCATION_LINE (loc)); + else if (current_function_decl) fprintf (dfile, "\n%s:%d: note: ", DECL_SOURCE_FILE (current_function_decl), DECL_SOURCE_LINE (current_function_decl)); - else - fprintf (dfile, "\n%s:%d: note: ", - LOCATION_FILE (loc), - LOCATION_LINE (loc)); } } Index: testsuite/gcc.dg/vect/vect.exp =================================================================== --- testsuite/gcc.dg/vect/vect.exp (revision 195244) +++ testsuite/gcc.dg/vect/vect.exp (working copy) @@ -156,7 +156,8 @@ dg-runtest [lsort [glob -nocomplain $srcdir/$subdi # alignment-sensitive -fsection-anchors tests set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS -lappend DEFAULT_VECTCFLAGS "-fsection-anchors" "-fdump-ipa-increase_alignment" +lappend DEFAULT_VECTCFLAGS "-fsection-anchors" \ + "-fdump-ipa-increase_alignment-details" dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/aligned-section-anchors-*.\[cS\]]] \ "" $DEFAULT_VECTCFLAGS Index: tree-vectorizer.c =================================================================== --- tree-vectorizer.c (revision 195244) +++ tree-vectorizer.c (working copy) @@ -225,6 +225,8 @@ increase_alignment (void) { struct varpool_node *vnode; + vect_location = UNKNOWN_LOC; + /* Increase the alignment of all global arrays for vectorization. */ FOR_EACH_DEFINED_VARIABLE (vnode) {