This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[4.8, 4.9] Backport IRA rtx_movable_p fix (PR target/62642)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Richard Biener <rguenther at suse dot de>, Vladimir Makarov <vmakarov at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 12 Jun 2015 13:19:15 +0200
- Subject: [4.8, 4.9] Backport IRA rtx_movable_p fix (PR target/62642)
- Authentication-results: sourceware.org; auth=none
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
Hi!
Is this ok to apply to 4.8 and 4.9 branches?
Successfully bootstrapped/regtested on these branches on x86_64-linux and
i686-linux, testcase is fixed.
2015-06-12 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
2014-12-15 Vladimir Makarov <vmakarov@redhat.com>
PR target/62642
* ira.c (rtx_moveable_p): Prevent UNSPEC_VOLATILE moves.
--- gcc/ira.c (revision 218760)
+++ gcc/ira.c (revision 218761)
@@ -4358,6 +4358,12 @@ rtx_moveable_p (rtx *loc, enum op_type t
case CLOBBER:
return rtx_moveable_p (&SET_DEST (x), OP_OUT);
+ case UNSPEC_VOLATILE:
+ /* It is a bad idea to consider insns with with such rtl
+ as moveable ones. The insn scheduler also considers them as barrier
+ for a reason. */
+ return false;
+
default:
break;
}
Jakub