Hi,

This patch fixes the bug when comparing location to UNKNOWN_LOC.

Bootstrapped and passed gcc regression test.

Okay for trunk?

Thanks,
Dehao

2012-09-30  Dehao Chen  <de...@google.com>

PR middle-end/54759
* gcc/tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Use
LOCATION_LOCUS to compare with UNKNOWN_LOCATION.
(slpeel_tree_peel_loop_to_edge): Likewise.
* gcc/tree-vectorizer.c (vectorize_loops): Likewise.
Index: gcc/tree-vect-loop-manip.c
===================================================================
--- gcc/tree-vect-loop-manip.c  (revision 191876)
+++ gcc/tree-vect-loop-manip.c  (working copy)
@@ -793,7 +793,7 @@ slpeel_make_loop_iterate_ntimes (struct loop *loop
   loop_loc = find_loop_location (loop);
   if (dump_file && (dump_flags & TDF_DETAILS))
     {
-      if (loop_loc != UNKNOWN_LOC)
+      if (LOCATION_LOCUS (loop_loc) != UNKNOWN_LOC)
         fprintf (dump_file, "\nloop at %s:%d: ",
                  LOC_FILE (loop_loc), LOC_LINE (loop_loc));
       print_gimple_stmt (dump_file, cond_stmt, 0, TDF_SLIM);
@@ -1248,7 +1248,7 @@ slpeel_tree_peel_loop_to_edge (struct loop *loop,
       loop_loc = find_loop_location (loop);
       if (dump_file && (dump_flags & TDF_DETAILS))
         {
-          if (loop_loc != UNKNOWN_LOC)
+          if (LOCATION_LOCUS (loop_loc) != UNKNOWN_LOC)
             fprintf (dump_file, "\n%s:%d: note: ",
                      LOC_FILE (loop_loc), LOC_LINE (loop_loc));
           fprintf (dump_file, "tree_duplicate_loop_to_edge_cfg failed.\n");
Index: gcc/tree-vectorizer.c
===================================================================
--- gcc/tree-vectorizer.c       (revision 191876)
+++ gcc/tree-vectorizer.c       (working copy)
@@ -192,7 +192,7 @@ vectorize_loops (void)
        loop_vec_info loop_vinfo;
 
        vect_location = find_loop_location (loop);
-        if (vect_location != UNKNOWN_LOC
+        if (LOCATION_LOCUS (vect_location) != UNKNOWN_LOC
             && vect_verbosity_level > REPORT_NONE)
          fprintf (vect_dump, "\nAnalyzing loop at %s:%d\n",
             LOC_FILE (vect_location), LOC_LINE (vect_location));
@@ -203,7 +203,7 @@ vectorize_loops (void)
        if (!loop_vinfo || !LOOP_VINFO_VECTORIZABLE_P (loop_vinfo))
          continue;
 
-        if (vect_location != UNKNOWN_LOC
+        if (LOCATION_LOCUS (vect_location) != UNKNOWN_LOC
             && vect_verbosity_level > REPORT_NONE)
           fprintf (vect_dump, "\n\nVectorizing loop at %s:%d\n",
             LOC_FILE (vect_location), LOC_LINE (vect_location));

Reply via email to