diff options
author | Hans Wennborg <hans@hanshq.net> | 2012-06-23 11:37:03 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2012-06-23 11:37:03 +0000 |
commit | cbe34b4cc98148b386a0c96cd195e7f62f52a6e3 (patch) | |
tree | bebf420600d6e1edc76ead880c7e5163060e5cde /llvm/docs/BitCodeFormat.html | |
parent | 8e00efeacec6aabafb703922b76dbf391b0a900d (diff) | |
download | bcm5719-llvm-cbe34b4cc98148b386a0c96cd195e7f62f52a6e3.tar.gz bcm5719-llvm-cbe34b4cc98148b386a0c96cd195e7f62f52a6e3.zip |
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
Diffstat (limited to 'llvm/docs/BitCodeFormat.html')
-rw-r--r-- | llvm/docs/BitCodeFormat.html | 14 |
1 files changed, 11 insertions, 3 deletions
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.</p> <h4><a name="MODULE_CODE_GLOBALVAR">MODULE_CODE_GLOBALVAR Record</a></h4> <div> -<p><tt>[GLOBALVAR, pointer type, isconst, initid, linkage, alignment, section, visibility, threadlocal]</tt></p> +<p><tt>[GLOBALVAR, pointer type, isconst, initid, linkage, alignment, section, visibility, threadlocal, unnamed_addr]</tt></p> <p>The <tt>GLOBALVAR</tt> record (code 7) marks the declaration or definition of a global variable. The operand fields are:</p> @@ -915,8 +915,16 @@ encoding of the visibility of this variable: </ul> </li> -<li><i>threadlocal</i>: If present and non-zero, indicates that the variable -is <tt>thread_local</tt></li> +<li><i>threadlocal</i>: If present, an encoding of the thread local storage +mode of the variable: + <ul> + <li><tt>not thread local</tt>: code 0</li> + <li><tt>thread local; default TLS model</tt>: code 1</li> + <li><tt>localdynamic</tt>: code 2</li> + <li><tt>initialexec</tt>: code 3</li> + <li><tt>localexec</tt>: code 4</li> + </ul> +</li> <li><i>unnamed_addr</i>: If present and non-zero, indicates that the variable has <tt>unnamed_addr</tt></li> |