summaryrefslogtreecommitdiffstats
path: root/llvm/docs/LangRef.rst
diff options
context:
space:
mode:
authorMarcin Koscielnicki <koriakin@0x04.net>2016-04-19 20:51:05 +0000
committerMarcin Koscielnicki <koriakin@0x04.net>2016-04-19 20:51:05 +0000
commit3fdc257d6a5d6e7a1851d9c78dc49d516ee488be (patch)
treec233d3f54b6a3d79301636604e1ff7d4ac2c8e9c /llvm/docs/LangRef.rst
parent4005070e1bad88113f45cb843635206050fe62e2 (diff)
downloadbcm5719-llvm-3fdc257d6a5d6e7a1851d9c78dc49d516ee488be.tar.gz
bcm5719-llvm-3fdc257d6a5d6e7a1851d9c78dc49d516ee488be.zip
[AArch64] [ARM] Make a target-independent llvm.thread.pointer intrinsic.
Both AArch64 and ARM support llvm.<arch>.thread.pointer intrinsics that just return the thread pointer. I have a pending patch that does the same for SystemZ (D19054), and there are many more targets that could benefit from one. This patch merges the ARM and AArch64 intrinsics into a single target independent one that will also be used by subsequent targets. Differential Revision: http://reviews.llvm.org/D19098 llvm-svn: 266818
Diffstat (limited to 'llvm/docs/LangRef.rst')
-rw-r--r--llvm/docs/LangRef.rst27
1 files changed, 27 insertions, 0 deletions
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index 8b0bedcd534..e8bbcc535f6 100644
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -9634,6 +9634,33 @@ pass will generate the appropriate data structures and replace the
``llvm.instrprof_value_profile`` intrinsic with the call to the profile
runtime library with proper arguments.
+'``llvm.thread.pointer``' Intrinsic
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Syntax:
+"""""""
+
+::
+
+ declare i8* @llvm.thread.pointer()
+
+Overview:
+"""""""""
+
+The '``llvm.thread.pointer``' intrinsic returns the value of the thread
+pointer.
+
+Semantics:
+""""""""""
+
+The '``llvm.thread.pointer``' intrinsic returns a pointer to the TLS area
+for the current thread. The exact semantics of this value are target
+specific: it may point to the start of TLS area, to the end, or somewhere
+in the middle. Depending on the target, this intrinsic may read a register,
+call a helper function, read from an alternate memory space, or perform
+other operations necessary to locate the TLS area. Not all targets support
+this intrinsic.
+
Standard C Library Intrinsics
-----------------------------
OpenPOWER on IntegriCloud