[llvm] r196523 - Document that dllexported symbols are preserved by optimization passes.
Yunzhong Gao
Yunzhong_Gao at playstation.sony.com
Thu Dec 5 10:37:55 PST 2013
Author: ygao
Date: Thu Dec 5 12:37:54 2013
New Revision: 196523
URL: http://llvm.org/viewvc/llvm-project?rev=196523&view=rev
Log:
Document that dllexported symbols are preserved by optimization passes.
Modified:
llvm/trunk/docs/LangRef.rst
Modified: llvm/trunk/docs/LangRef.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/LangRef.rst?rev=196523&r1=196522&r2=196523&view=diff
==============================================================================
--- llvm/trunk/docs/LangRef.rst (original)
+++ llvm/trunk/docs/LangRef.rst Thu Dec 5 12:37:54 2013
@@ -289,7 +289,9 @@ symbols from (to) DLLs (Dynamic Link Lib
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
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
More information about the llvm-commits
mailing list