summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYunzhong Gao <Yunzhong_Gao@playstation.sony.com>2013-12-05 18:37:54 +0000
committerYunzhong Gao <Yunzhong_Gao@playstation.sony.com>2013-12-05 18:37:54 +0000
commitf5b769e4f21725df838b993b74d6421f693edacf (patch)
tree1ff6a3f90e29329ac873bdbd0b0c365a34a0708e
parentcdbde3aacc1260a72d49b9aa7271b4bbec694e83 (diff)
downloadbcm5719-llvm-f5b769e4f21725df838b993b74d6421f693edacf.tar.gz
bcm5719-llvm-f5b769e4f21725df838b993b74d6421f693edacf.zip
Document that dllexported symbols are preserved by optimization passes.
llvm-svn: 196523
-rw-r--r--llvm/docs/LangRef.rst8
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index f7f83dba696..9adbea5e9ee 100644
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -289,7 +289,9 @@ symbols from (to) DLLs (Dynamic Link Libraries).
pointer to a pointer in a DLL, so that it can be referenced with the
``dllimport`` attribute. On Microsoft Windows targets, the pointer
name is formed by combining ``__imp_`` and the function or variable
- name.
+ name. Since this linkage exists for defining a dll interface, the
+ compiler, assembler and linker know it is externally referenced and
+ must refrain from deleting the symbol.
It is illegal for a function *declaration* to have any linkage type
other than ``external``, ``dllimport`` or ``extern_weak``.
@@ -501,8 +503,8 @@ variables defined within the module are not modified from their
initial values before the start of the global initializer. This is
true even for variables potentially accessible from outside the
module, including those with external linkage or appearing in
-``@llvm.used``. This assumption may be suppressed by marking the
-variable with ``externally_initialized``.
+``@llvm.used`` or dllexported variables. This assumption may be suppressed
+by marking the variable with ``externally_initialized``.
An explicit alignment may be specified for a global, which must be a
power of 2. If not present, or if the alignment is set to zero, the
OpenPOWER on IntegriCloud