aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2013-01-22 18:03:33 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2013-01-22 18:03:33 +0100
commit502498d5b3f3c7522db7d6fe637d0163c85c5894 (patch)
treef250403bc233ce602812274ea57fc88475c0e73e /gcc
parent3a984f1011711044bc57484f7303230eef4b2d85 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/dumpfile.c2
-rw-r--r--gcc/tree-vect-loop-manip.c5
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);
}