From c1c99405c16922201a4d32f4a7d1c3280df7c19c Mon Sep 17 00:00:00 2001 From: Andrey Belevantsev Date: Tue, 25 Feb 2014 10:35:09 +0400 Subject: [PATCH] re PR middle-end/60292 (ICE: in fill_vec_av_set, at sel-sched.c:3863 with -m64 after r206174 on powerpc-apple-darwin9.8.0) PR rtl-optimization/60292 * sel-sched.c (fill_vec_av_set): Do not reset target availability bit fot the fence instruction. From-SVN: r208109 --- gcc/ChangeLog | 6 ++++++ gcc/sel-sched.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c1b18ab..671c8f3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-02-25 Andrey Belevantsev + + PR rtl-optimization/60292 + * sel-sched.c (fill_vec_av_set): Do not reset target availability + bit fot the fence instruction. + 2014-02-24 Alangi Derick * calls.h: Fix typo in comment. diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c index 490f361..f13975d 100644 --- a/gcc/sel-sched.c +++ b/gcc/sel-sched.c @@ -3823,7 +3823,8 @@ fill_vec_av_set (av_set_t av, blist_t bnds, fence_t fence, /* If insn was already scheduled on the current fence, set TARGET_AVAILABLE to -1 no matter what expr's attribute says. */ - if (vinsn_vec_has_expr_p (vec_target_unavailable_vinsns, expr)) + if (vinsn_vec_has_expr_p (vec_target_unavailable_vinsns, expr) + && !fence_insn_p) target_available = -1; /* If the availability of the EXPR is invalidated by the insertion of -- 2.7.4