summaryrefslogtreecommitdiffstats
path: root/llvm/docs
diff options
context:
space:
mode:
authorJaved Absar <javed.absar@arm.com>2017-05-11 12:28:08 +0000
committerJaved Absar <javed.absar@arm.com>2017-05-11 12:28:08 +0000
commitf3d7904d20120fb6e4b33cd391b916ca6701e03e (patch)
tree45229dfdd32c355e31e095a197b3bb53d84f2d85 /llvm/docs
parenta44fc83d9fa3bcbe45b1ebb2f0aca2a86dba181d (diff)
downloadbcm5719-llvm-f3d7904d20120fb6e4b33cd391b916ca6701e03e.tar.gz
bcm5719-llvm-f3d7904d20120fb6e4b33cd391b916ca6701e03e.zip
[IR] Allow attributes with global variables
This patch extends llvm-ir to allow attributes to be set on global variables. An RFC was sent out earlier by my colleague James Molloy: http://lists.llvm.org/pipermail/cfe-dev/2017-March/053100.html A key part of that proposal was to extend LLVM-IR to carry attributes on global variables. This generic feature could be useful for multiple purposes. In our present context, it would be useful to carry user specified sections for bss/rodata/data. Reviewed by: Jonathan Roelofs, Reid Kleckner Differential Revision: https://reviews.llvm.org/D32009 llvm-svn: 302794
Diffstat (limited to 'llvm/docs')
-rw-r--r--llvm/docs/LangRef.rst13
1 files changed, 11 insertions, 2 deletions
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index dc6350c5520..e7c2888cd0d 100644
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -641,8 +641,9 @@ assume that the globals are densely packed in their section and try to
iterate over them as an array, alignment padding would break this
iteration. The maximum alignment is ``1 << 29``.
-Globals can also have a :ref:`DLL storage class <dllstorageclass>` and
-an optional list of attached :ref:`metadata <metadata>`,
+Globals can also have a :ref:`DLL storage class <dllstorageclass>`,
+an optional :ref:`global attributes <glattrs>` and
+an optional list of attached :ref:`metadata <metadata>`.
Variables and aliases can have a
:ref:`Thread Local Storage Model <tls_model>`.
@@ -1624,6 +1625,14 @@ example:
the ELF x86-64 abi, but it can be disabled for some compilation
units.
+.. _glattrs:
+
+Global Attributes
+-----------------
+
+Attributes may be set to communicate additional information about a global variable.
+Unlike :ref:`function attributes <fnattrs>`, attributes on a global variable
+are grouped into a single :ref:`attribute group <attrgrp>`.
.. _opbundles:
OpenPOWER on IntegriCloud