aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDehao Chen <dehao@google.com>2012-10-01 16:33:23 +0000
committerDehao Chen <dehao@gcc.gnu.org>2012-10-01 16:33:23 +0000
commit84df911b453a01260d20f36a3086363207c12079 (patch)
tree6db6edb49c936df87ae56cef023bca185c781bd3
parent83ddb39f042105cbb8861445c017062fe2c2d3a6 (diff)
downloadgcc-84df911b453a01260d20f36a3086363207c12079.zip
gcc-84df911b453a01260d20f36a3086363207c12079.tar.gz
gcc-84df911b453a01260d20f36a3086363207c12079.tar.bz2
re PR middle-end/54759 (segfault for gcc.dg/vect/pr49093.c on Solaris)
2012-10-01 Dehao Chen <dehao@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. From-SVN: r191931
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/tree-vect-loop-manip.c5
-rw-r--r--gcc/tree-vectorizer.c6
3 files changed, 15 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9a20ab5..3961099 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2012-10-01 Dehao Chen <dehao@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.
+
2012-10-01 Andrew MacLeod <amacleod@redhat.com>
PR target/54087
diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c
index d9b3040..a91dd91 100644
--- a/gcc/tree-vect-loop-manip.c
+++ b/gcc/tree-vect-loop-manip.c
@@ -794,8 +794,9 @@ slpeel_make_loop_iterate_ntimes (struct loop *loop, tree niters)
loop_loc = find_loop_location (loop);
if (dump_kind_p (MSG_NOTE))
{
- dump_printf (MSG_NOTE, "\nloop at %s:%d: ", LOC_FILE (loop_loc),
- LOC_LINE (loop_loc));
+ if (LOCATION_LOCUS (loop_loc) != UNKNOWN_LOC)
+ dump_printf (MSG_NOTE, "\nloop at %s:%d: ", LOC_FILE (loop_loc),
+ LOC_LINE (loop_loc));
dump_gimple_stmt (MSG_NOTE, TDF_SLIM, cond_stmt, 0);
}
loop->nb_iterations = niters;
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index 777a126..4bd0e9b 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -106,7 +106,8 @@ vectorize_loops (void)
{
loop_vec_info loop_vinfo;
vect_location = find_loop_location (loop);
- if (vect_location != UNKNOWN_LOC && dump_kind_p (MSG_ALL))
+ if (LOCATION_LOCUS (vect_location) != UNKNOWN_LOC
+ && dump_kind_p (MSG_ALL))
dump_printf (MSG_ALL, "\nAnalyzing loop at %s:%d\n",
LOC_FILE (vect_location), LOC_LINE (vect_location));
@@ -116,7 +117,8 @@ vectorize_loops (void)
if (!loop_vinfo || !LOOP_VINFO_VECTORIZABLE_P (loop_vinfo))
continue;
- if (vect_location != UNKNOWN_LOC && dump_kind_p (MSG_ALL))
+ if (LOCATION_LOCUS (vect_location) != UNKNOWN_LOC
+ && dump_kind_p (MSG_ALL))
dump_printf (MSG_ALL, "\n\nVectorizing loop at %s:%d\n",
LOC_FILE (vect_location), LOC_LINE (vect_location));
vect_transform_loop (loop_vinfo);