aboutsummaryrefslogtreecommitdiff
path: root/include/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm')
-rw-r--r--include/llvm/CodeGen/ISDOpcodes.h3
-rw-r--r--include/llvm/Intrinsics.td4
2 files changed, 7 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/ISDOpcodes.h b/include/llvm/CodeGen/ISDOpcodes.h
index 95aafb324d..47170e4e58 100644
--- a/include/llvm/CodeGen/ISDOpcodes.h
+++ b/include/llvm/CodeGen/ISDOpcodes.h
@@ -643,6 +643,9 @@ namespace ISD {
// @LOCALMOD-BEGIN
// NACL_* - Native Client instrinsics.
+ // NACL_READ_TP is a fast built-in version of NaCl's tls_get() IRT
+ // interface.
+ NACL_READ_TP,
// These correspond to functions in:
// native_client/src/untrusted/nacl/tls_params.h
NACL_TP_TLS_OFFSET,
diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td
index 68d7d4cdf4..42b9da6914 100644
--- a/include/llvm/Intrinsics.td
+++ b/include/llvm/Intrinsics.td
@@ -467,6 +467,10 @@ def int_nacl_setjmp : Intrinsic<[llvm_i32_ty], [llvm_ptr_ty, llvm_ptr_ty]>,
def int_nacl_longjmp : Intrinsic<[], [llvm_ptr_ty, llvm_i32_ty]>,
GCCBuiltin<"__builtin_nacl_longjmp">;
+// Fast built-in version of NaCl's tls_get() IRT interface.
+def int_nacl_read_tp : Intrinsic<[llvm_ptr_ty], [], [IntrNoMem]>,
+ GCCBuiltin<"__builtin_nacl_read_tp">;
+
// The following intrinsics provide target-specific implementations of
// the interface in native_client/src/untrusted/nacl/tls_params.h.
// The intrinsic names are basically the functions there without the