[PATCH] D36712: Emit section information for extern variables
Elizabeth Andrews via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 22 07:30:29 PDT 2017
eandrews updated this revision to Diff 112172.
eandrews added a comment.
Updated the documentation to explicitly state that section information for a variable can be explicit or inferred.
https://reviews.llvm.org/D36712
Files:
docs/LangRef.rst
Index: docs/LangRef.rst
===================================================================
--- docs/LangRef.rst
+++ docs/LangRef.rst
@@ -579,7 +579,9 @@
case they don't have an initializer.
Either global variable definitions or declarations may have an explicit section
-to be placed in and may have an optional explicit alignment specified.
+to be placed in and may have an optional explicit alignment specified. If there
+is a mismatch between the explicit or inferred section information for the
+variable declaration and its definition the resulting behavior is undefined.
A variable may be defined as a global ``constant``, which indicates that
the contents of the variable will **never** be modified (enabling better
@@ -622,6 +624,12 @@
Additionally, the global can placed in a comdat if the target has the necessary
support.
+External declarations may have an explicit section specified. Section
+information is retained in LLVM IR for targets that make use of this
+information. Attaching section information to an external declaration is an
+assertion that its definition is located in the specified section. If the
+definition is located in a different section, the behavior is undefined.
+
By default, global initializers are optimized by assuming that global
variables defined within the module are not modified from their
initial values before the start of the global initializer. This is
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36712.112172.patch
Type: text/x-patch
Size: 1429 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170822/ac12e4db/attachment-0001.bin>
More information about the cfe-commits
mailing list