[llvm] r320177 - [X86][MPX] Tag TSX/HLE/SGX instructions scheduler classes

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 8 11:26:22 PST 2017


Author: rksimon
Date: Fri Dec  8 11:26:22 2017
New Revision: 320177

URL: http://llvm.org/viewvc/llvm-project?rev=320177&view=rev
Log:
[X86][MPX] Tag TSX/HLE/SGX instructions scheduler classes

Currently tagged these as system instructions.

Modified:
    llvm/trunk/lib/Target/X86/X86InstrSGX.td
    llvm/trunk/lib/Target/X86/X86InstrTSX.td

Modified: llvm/trunk/lib/Target/X86/X86InstrSGX.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrSGX.td?rev=320177&r1=320176&r2=320177&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrSGX.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrSGX.td Fri Dec  8 11:26:22 2017
@@ -15,6 +15,7 @@
 //===----------------------------------------------------------------------===//
 // SGX instructions
 
+let SchedRW = [WriteSystem] in {
 // ENCLS - Execute an Enclave System Function of Specified Leaf Number
 def ENCLS : I<0x01, MRM_CF, (outs), (ins),
              "encls", []>, TB;
@@ -22,3 +23,4 @@ def ENCLS : I<0x01, MRM_CF, (outs), (ins
 // ENCLU - Execute an Enclave User Function of Specified Leaf Number
 def ENCLU : I<0x01, MRM_D7, (outs), (ins),
              "enclu", []>, TB;
+} // SchedRW

Modified: llvm/trunk/lib/Target/X86/X86InstrTSX.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrTSX.td?rev=320177&r1=320176&r2=320177&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrTSX.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrTSX.td Fri Dec  8 11:26:22 2017
@@ -18,6 +18,8 @@
 def X86xtest: SDNode<"X86ISD::XTEST", SDTypeProfile<1, 0, [SDTCisVT<0, i32>]>,
                      [SDNPHasChain, SDNPSideEffect]>;
 
+let SchedRW = [WriteSystem] in {
+
 let usesCustomInserter = 1 in
 def XBEGIN : I<0, Pseudo, (outs GR32:$dst), (ins),
                "# XBEGIN", [(set GR32:$dst, (int_x86_xbegin))]>,
@@ -45,11 +47,14 @@ def XTEST : I<0x01, MRM_D6, (outs), (ins
 def XABORT : Ii8<0xc6, MRM_F8, (outs), (ins i8imm:$imm),
                  "xabort\t$imm",
                  [(int_x86_xabort imm:$imm)]>, Requires<[HasRTM]>;
+} // SchedRW
 
 // HLE prefixes
+let SchedRW = [WriteSystem] in {
 
 let isAsmParserOnly = 1 in {
 def XACQUIRE_PREFIX : I<0xF2, RawFrm, (outs), (ins), "xacquire", []>;
 def XRELEASE_PREFIX : I<0xF3, RawFrm, (outs), (ins), "xrelease", []>;
 }
 
+} // SchedRW




More information about the llvm-commits mailing list