summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-06-11 13:18:13 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-06-11 13:18:13 +0000
commit9f8e6da019a99960af59c79e17659dd2dba8433e (patch)
tree0981ff97bfa7fed1ddde2d439eb1b5d93e13b1d3 /docs
parent6c921a55f4d5fc51a127fcc673ac1c9b46273899 (diff)
downloadllvm-9f8e6da019a99960af59c79e17659dd2dba8433e.tar.gz
llvm-9f8e6da019a99960af59c79e17659dd2dba8433e.tar.bz2
llvm-9f8e6da019a99960af59c79e17659dd2dba8433e.tar.xz
Require members of llvm.used to be named.
The effect of llvm.used is to introduce an invisible reference, so this seems a reasonable restriction. It will be used to provide an easy ordering of the entries in llvm.used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183743 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/LangRef.rst14
1 files changed, 7 insertions, 7 deletions
diff --git a/docs/LangRef.rst b/docs/LangRef.rst
index 949dc4a876..2c55d333a6 100644
--- a/docs/LangRef.rst
+++ b/docs/LangRef.rst
@@ -2932,8 +2932,8 @@ The '``llvm.used``' Global Variable
The ``@llvm.used`` global is an array which has
:ref:`appending linkage <linkage_appending>`. This array contains a list of
-pointers to global variables, functions and aliases which may optionally have a
-pointer cast formed of bitcast or getelementptr. For example, a legal
+pointers to named global variables, functions and aliases which may optionally
+have a pointer cast formed of bitcast or getelementptr. For example, a legal
use of it is:
.. code-block:: llvm
@@ -2948,11 +2948,11 @@ use of it is:
If a symbol appears in the ``@llvm.used`` list, then the compiler, assembler,
and linker are required to treat the symbol as if there is a reference to the
-symbol that it cannot see. For example, if a variable has internal linkage and
-no references other than that from the ``@llvm.used`` list, it cannot be
-deleted. This is commonly used to represent references from inline asms and
-other things the compiler cannot "see", and corresponds to
-"``attribute((used))``" in GNU C.
+symbol that it cannot see (which is why they have to be named). For example, if
+a variable has internal linkage and no references other than that from the
+``@llvm.used`` list, it cannot be deleted. This is commonly used to represent
+references from inline asms and other things the compiler cannot "see", and
+corresponds to "``attribute((used))``" in GNU C.
On some targets, the code generator must emit a directive to the
assembler or object file to prevent the assembler and linker from