diff options
author | Jakub Jelinek <jakub@redhat.com> | 2013-01-22 18:03:33 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2013-01-22 18:03:33 +0100 |
commit | 502498d5b3f3c7522db7d6fe637d0163c85c5894 (patch) | |
tree | f250403bc233ce602812274ea57fc88475c0e73e /gcc | |
parent | 3a984f1011711044bc57484f7303230eef4b2d85 (diff) | |
download | gcc-502498d5b3f3c7522db7d6fe637d0163c85c5894.zip gcc-502498d5b3f3c7522db7d6fe637d0163c85c5894.tar.gz gcc-502498d5b3f3c7522db7d6fe637d0163c85c5894.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/dumpfile.c | 2 | ||||
-rw-r--r-- | gcc/tree-vect-loop-manip.c | 5 |
3 files changed, 11 insertions, 3 deletions
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 <jakub@redhat.com> + 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); } |