From 502498d5b3f3c7522db7d6fe637d0163c85c5894 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 22 Jan 2013 18:03:33 +0100 Subject: [PATCH] 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 --- gcc/ChangeLog | 7 +++++++ gcc/dumpfile.c | 2 +- gcc/tree-vect-loop-manip.c | 5 +++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fa4def9bddc..df699455bea 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 ddd7c962cc2..7442a27540a 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 8e589de6d1f..8a8982ad2e0 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); } -- 2.30.2