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));