diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-07-20 06:14:25 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-07-20 06:14:25 +0000 |
| commit | 58f9bb2ccda769adbdc5a71e1e8d22465d976771 (patch) | |
| tree | 428a09195a1f2747ada07c264b68fa7983544fae /llvm/docs/LangRef.html | |
| parent | 4e4eb0b00c0ce6eae1cd832c031313a4696b590c (diff) | |
| download | bcm5719-llvm-58f9bb2ccda769adbdc5a71e1e8d22465d976771.tar.gz bcm5719-llvm-58f9bb2ccda769adbdc5a71e1e8d22465d976771.zip | |
implement a new magic global "llvm.compiler.used" which is like llvm.used, but
doesn't cause ".no_dead_strip" to be emitted on darwin.
llvm-svn: 76399
Diffstat (limited to 'llvm/docs/LangRef.html')
| -rw-r--r-- | llvm/docs/LangRef.html | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/llvm/docs/LangRef.html b/llvm/docs/LangRef.html index 910fc5c6514..dced11c4416 100644 --- a/llvm/docs/LangRef.html +++ b/llvm/docs/LangRef.html @@ -94,6 +94,8 @@ <li><a href="#intrinsic_globals">Intrinsic Global Variables</a> <ol> <li><a href="#intg_used">The '<tt>llvm.used</tt>' Global Variable</a></li> + <li><a href="#intg_compiler_used">The '<tt>llvm.compiler.used</tt>' + Global Variable</a></li> <li><a href="#intg_global_ctors">The '<tt>llvm.global_ctors</tt>' Global Variable</a></li> <li><a href="#intg_global_dtors">The '<tt>llvm.global_dtors</tt>' @@ -2168,8 +2170,9 @@ call void asm sideeffect "eieio", ""() <p>LLVM has a number of "magic" global variables that contain data that affect code generation or other IR semantics. These are documented here. All globals -of this sort should have a section specified as "llvm.metadata". This section -and all globals that start with "llvm." are reserved for LLVM.</p> +of this sort should have a section specified as "<tt>llvm.metadata</tt>". This +section and all globals that start with "<tt>llvm.</tt>" are reserved for use +by LLVM.</p> <!-- ======================================================================= --> <div class="doc_subsection"> @@ -2208,6 +2211,24 @@ object file to prevent the assembler and linker from molesting the symbol.</p> <!-- ======================================================================= --> <div class="doc_subsection"> +<a name="intg_compiler_used">The '<tt>llvm.compiler.used</tt>' Global Variable</a> +</div> + +<div class="doc_text"> + +<p>The <tt>@llvm.compiler.used</tt> directive is the same as the +<tt>@llvm.used</tt> directive, except that it only prevents the compiler from +touching the symbol. On targets that support it, this allows an intelligent +linker to optimize references to the symbol without being impeded as it would be +by <tt>@llvm.used</tt>.</p> + +<p>This is a rare construct that should only be used in rare circumstances, and +should not be exposed to source languages.</p> + +</div> + +<!-- ======================================================================= --> +<div class="doc_subsection"> <a name="intg_global_ctors">The '<tt>llvm.global_ctors</tt>' Global Variable</a> </div> |

