From: Jakub Jelinek Date: Tue, 22 Jan 2013 17:03:33 +0000 (+0100) Subject: re PR middle-end/56074 (ICE compiling gcc.dg/vect/pr49093.c) X-Git-Tag: upstream/12.2.0~71621 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=502498d5b3f3c7522db7d6fe637d0163c85c5894;p=platform%2Fupstream%2Fgcc.git re PR middle-end/56074 (ICE compiling gcc.dg/vect/pr49093.c) PR middle-end/56074 * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc) isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION. * tree-vect-loop-manip.c (find_loop_location): Also ignore stmt locations where LOCATION_LOCUS of the stmt location is UNKNOWN_LOCATION or BUILTINS_LOCATION. From-SVN: r195382 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fa4def9..df69945 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2013-01-22 Jakub Jelinek + PR middle-end/56074 + * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc) + isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION. + * tree-vect-loop-manip.c (find_loop_location): Also ignore + stmt locations where LOCATION_LOCUS of the stmt location is + UNKNOWN_LOCATION or BUILTINS_LOCATION. + PR target/55686 * config/i386/i386.md (UNSPEC_STOS): New. (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1, diff --git a/gcc/dumpfile.c b/gcc/dumpfile.c index ddd7c96..7442a27 100644 --- a/gcc/dumpfile.c +++ b/gcc/dumpfile.c @@ -260,7 +260,7 @@ dump_loc (int dump_kind, FILE *dfile, source_location loc) /* Currently vectorization passes print location information. */ if (dump_kind) { - if (loc != UNKNOWN_LOCATION) + if (LOCATION_LOCUS (loc) > BUILTINS_LOCATION) fprintf (dfile, "\n%s:%d: note: ", LOCATION_FILE (loc), LOCATION_LINE (loc)); else if (current_function_decl) diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c index 8e589de..8a8982a 100644 --- a/gcc/tree-vect-loop-manip.c +++ b/gcc/tree-vect-loop-manip.c @@ -1357,7 +1357,8 @@ find_loop_location (struct loop *loop) stmt = get_loop_exit_condition (loop); - if (stmt && gimple_location (stmt) != UNKNOWN_LOC) + if (stmt + && LOCATION_LOCUS (gimple_location (stmt)) > BUILTINS_LOCATION) return gimple_location (stmt); /* If we got here the loop is probably not "well formed", @@ -1371,7 +1372,7 @@ find_loop_location (struct loop *loop) for (si = gsi_start_bb (bb); !gsi_end_p (si); gsi_next (&si)) { stmt = gsi_stmt (si); - if (gimple_location (stmt) != UNKNOWN_LOC) + if (LOCATION_LOCUS (gimple_location (stmt)) > BUILTINS_LOCATION) return gimple_location (stmt); }