This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[4.8, 4.9] Backport IRA rtx_movable_p fix (PR target/62642)


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]