Index: lib/Target/X86/X86InstrInfo.td |
diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td |
index bcc34ea36ae518029f2e58497e01d1bfcf36a26e..1f45810bc11e15dbfde293b612576e0bcb93fa62 100644 |
--- a/lib/Target/X86/X86InstrInfo.td |
+++ b/lib/Target/X86/X86InstrInfo.td |
@@ -103,6 +103,10 @@ def SDT_X86TLSBASEADDR : SDTypeProfile<0, 1, [SDTCisInt<0>]>; |
def SDT_X86TLSCALL : SDTypeProfile<0, 1, [SDTCisInt<0>]>; |
+// @LOCALMOD-BEGIN |
+def SDT_X86ThreadPointer : SDTypeProfile<1, 0, [SDTCisPtrTy<0>]>; |
+// @LOCALMOD-END |
+ |
def SDT_X86SEG_ALLOCA : SDTypeProfile<1, 1, [SDTCisVT<0, iPTR>, SDTCisVT<1, iPTR>]>; |
def SDT_X86WIN_FTOL : SDTypeProfile<0, 1, [SDTCisFP<0>]>; |
@@ -199,6 +203,17 @@ def X86tlsaddr : SDNode<"X86ISD::TLSADDR", SDT_X86TLSADDR, |
def X86tlsbaseaddr : SDNode<"X86ISD::TLSBASEADDR", SDT_X86TLSBASEADDR, |
[SDNPHasChain, SDNPOptInGlue, SDNPOutGlue]>; |
+// @LOCALMOD-BEGIN |
+def X86tlsaddr_le : SDNode<"X86ISD::TLSADDR_LE", SDT_X86TLSADDR, |
+ [SDNPHasChain, SDNPOptInGlue, SDNPOutGlue]>; |
+ |
+def X86tlsaddr_ie : SDNode<"X86ISD::TLSADDR_IE", SDT_X86TLSADDR, |
+ [SDNPHasChain, SDNPOptInGlue, SDNPOutGlue]>; |
+ |
+def X86thread_pointer_from_gs : |
+ SDNode<"X86ISD::THREAD_POINTER_FROM_GS", SDT_X86ThreadPointer>; |
+// @LOCALMOD-END |
+ |
def X86ehret : SDNode<"X86ISD::EH_RETURN", SDT_X86EHRET, |
[SDNPHasChain]>; |
@@ -758,7 +773,7 @@ def In32BitMode : Predicate<"Subtarget->is32Bit()">, |
AssemblerPredicate<"Mode32Bit", "32-bit mode">; |
def IsWin64 : Predicate<"Subtarget->isTargetWin64()">; |
def IsNaCl : Predicate<"Subtarget->isTargetNaCl()">; |
-def NotNaCl : Predicate<"!Subtarget->isTargetNaCl()">; |
+def IsNotNaCl : Predicate<"!Subtarget->isTargetNaCl()">; |
def SmallCode : Predicate<"TM.getCodeModel() == CodeModel::Small">; |
def KernelCode : Predicate<"TM.getCodeModel() == CodeModel::Kernel">; |
def FarData : Predicate<"TM.getCodeModel() != CodeModel::Small &&" |
@@ -2365,6 +2380,12 @@ let Predicates = [HasTBM] in { |
//===----------------------------------------------------------------------===// |
include "X86InstrArithmetic.td" |
+ |
+//===----------------------------------------------------------------------===// |
+// NaCl support (@LOCALMOD) |
+//===----------------------------------------------------------------------===// |
+ |
+include "X86InstrNaCl.td" |
include "X86InstrCMovSetCC.td" |
include "X86InstrExtension.td" |
include "X86InstrControl.td" |