]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR middle-end/60292 (ICE: in fill_vec_av_set, at sel-sched.c:3863 with -m64 after...
authorAndrey Belevantsev <abel@ispras.ru>
Tue, 25 Feb 2014 06:35:09 +0000 (10:35 +0400)
committerAndrey Belevantsev <abel@gcc.gnu.org>
Tue, 25 Feb 2014 06:35:09 +0000 (10:35 +0400)
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
gcc/sel-sched.c

index c1b18abf9da1394d8b85da5e00f91096d7fd505d..671c8f309d3769de26879637f5aaeeb98cec4bf4 100644 (file)
@@ -1,3 +1,9 @@
+2014-02-25  Andrey Belevantsev  <abel@ispras.ru>
+
+       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  <alangiderick@gmail.com>
 
        * calls.h: Fix typo in comment.
index 490f3610aea2886fa599364b984909291043464e..f13975d1701b2fe1293399fad7eb4fa9340cfb53 100644 (file)
@@ -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