On June 12, 2015 1:19:15 PM GMT+02:00, Jakub Jelinek <ja...@redhat.com> wrote: >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.
OK. Thanks, Richard. >2015-06-12 Jakub Jelinek <ja...@redhat.com> > > Backported from mainline > 2014-12-15 Vladimir Makarov <vmaka...@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