From 401e10c4fbfcdcfade5065093e2ca97f69a1d144 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 20 Jul 2009 06:14:25 +0000 Subject: 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76399 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/LangRef.html | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/LangRef.html b/docs/LangRef.html index 910fc5c651..dced11c441 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -94,6 +94,8 @@
  • Intrinsic Global Variables
    1. The 'llvm.used' Global Variable
    2. +
    3. The 'llvm.compiler.used' + Global Variable
    4. The 'llvm.global_ctors' Global Variable
    5. The 'llvm.global_dtors' @@ -2168,8 +2170,9 @@ call void asm sideeffect "eieio", ""()

      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.

      +of this sort should have a section specified as "llvm.metadata". This +section and all globals that start with "llvm." are reserved for use +by LLVM.

      @@ -2206,6 +2209,24 @@ object file to prevent the assembler and linker from molesting the symbol.

      + +
      + +
      + +

      The @llvm.compiler.used directive is the same as the +@llvm.used 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 @llvm.used.

      + +

      This is a rare construct that should only be used in rare circumstances, and +should not be exposed to source languages.

      + +
      +
      The 'llvm.global_ctors' Global Variable -- cgit v1.2.3-70-g09d2