From cbe34b4cc98148b386a0c96cd195e7f62f52a6e3 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.
llvm-svn: 159077
---
llvm/docs/BitCodeFormat.html | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
(limited to 'llvm/docs/BitCodeFormat.html')
diff --git a/llvm/docs/BitCodeFormat.html b/llvm/docs/BitCodeFormat.html
index 30145de5811..6a670f56b97 100644
--- a/llvm/docs/BitCodeFormat.html
+++ b/llvm/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.2.3