From ce718ff9f42c7da092eaa01dd0242e8d5ba84713 Mon Sep 17 00:00:00 2001
From: Hans Wennborg
Date: Sat, 23 Jun 2012 11:37:03 +0000
Subject: Extend the IL for selecting TLS models (PR9788)
This allows the user/front-end to specify a model that is better
than what LLVM would choose by default. For example, a variable
might be declared as
@x = thread_local(initialexec) global i32 42
if it will not be used in a shared library that is dlopen'ed.
If the specified model isn't supported by the target, or if LLVM can
make a better choice, a different model may be used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159077 91177308-0d34-0410-b5e6-96231b3b80d8
---
docs/BitCodeFormat.html | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
(limited to 'docs/BitCodeFormat.html')
diff --git a/docs/BitCodeFormat.html b/docs/BitCodeFormat.html
index 30145de..6a670f5 100644
--- a/docs/BitCodeFormat.html
+++ b/docs/BitCodeFormat.html
@@ -864,7 +864,7 @@ library name referenced.
-
[GLOBALVAR, pointer type, isconst, initid, linkage, alignment, section, visibility, threadlocal]
+
[GLOBALVAR, pointer type, isconst, initid, linkage, alignment, section, visibility, threadlocal, unnamed_addr]
The GLOBALVAR record (code 7) marks the declaration or
definition of a global variable. The operand fields are:
@@ -915,8 +915,16 @@ encoding of the visibility of this variable:
-
threadlocal: If present and non-zero, indicates that the variable
-is thread_local
+
threadlocal: If present, an encoding of the thread local storage
+mode of the variable:
+
+ - not thread local: code 0
+ - thread local; default TLS model: code 1
+ - localdynamic: code 2
+ - initialexec: code 3
+ - localexec: code 4
+
+
unnamed_addr: If present and non-zero, indicates that the variable
has unnamed_addr
--
cgit v1.1