[4.8, 4.9] Backport IRA rtx_movable_p fix (PR target/62642)
Jakub Jelinek
jakub@redhat.com
Fri Jun 12 11:20:00 GMT 2015
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
More information about the Gcc-patches
mailing list