re PR middle-end/56074 (ICE compiling gcc.dg/vect/pr49093.c)
authorJakub Jelinek <jakub@redhat.com>
Tue, 22 Jan 2013 17:03:33 +0000 (18:03 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 22 Jan 2013 17:03:33 +0000 (18:03 +0100)
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
gcc/dumpfile.c
gcc/tree-vect-loop-manip.c

index fa4def9..df69945 100644 (file)
@@ -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,
index ddd7c96..7442a27 100644 (file)
@@ -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)
index 8e589de..8a8982a 100644 (file)
@@ -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);
     }