summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-01-06 21:40:24 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-01-06 21:40:24 +0000
commit177648336ab01faf4cee8a105a5f237642c23e98 (patch)
tree2480c3e39fe54715aa2e28203f9f044788b1c939 /docs
parent739742650981491be0e58ed876feaeb8901f9443 (diff)
downloadllvm-177648336ab01faf4cee8a105a5f237642c23e98.tar.gz
llvm-177648336ab01faf4cee8a105a5f237642c23e98.tar.bz2
llvm-177648336ab01faf4cee8a105a5f237642c23e98.tar.xz
Improve documentation of the 'a' specifier and the '<abi>:<pref>' align pair.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198636 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/LangRef.rst16
1 files changed, 9 insertions, 7 deletions
diff --git a/docs/LangRef.rst b/docs/LangRef.rst
index cc932515d2..d4a7725d1f 100644
--- a/docs/LangRef.rst
+++ b/docs/LangRef.rst
@@ -1141,10 +1141,9 @@ as follows:
``p[n]:<size>:<abi>:<pref>``
This specifies the *size* of a pointer and its ``<abi>`` and
``<pref>``\erred alignments for address space ``n``. All sizes are in
- bits. Specifying the ``<pref>`` alignment is optional. If omitted, the
- preceding ``:`` should be omitted too. The address space, ``n`` is
- optional, and if not specified, denotes the default address space 0.
- The value of ``n`` must be in the range [1,2^23).
+ bits. The address space, ``n`` is optional, and if not specified,
+ denotes the default address space 0. The value of ``n`` must be
+ in the range [1,2^23).
``i<size>:<abi>:<pref>``
This specifies the alignment for an integer type of a given bit
``<size>``. The value of ``<size>`` must be in the range [1,2^23).
@@ -1157,9 +1156,8 @@ as follows:
will work. 32 (float) and 64 (double) are supported on all targets; 80
or 128 (different flavors of long double) are also supported on some
targets.
-``a<size>:<abi>:<pref>``
- This specifies the alignment for an aggregate type of a given bit
- ``<size>``.
+``a:<abi>:<pref>``
+ This specifies the alignment for an object of aggregate type.
``m:<mangling>``
If prerest, specifies that llvm names are mangled in the output. The
options are
@@ -1176,6 +1174,10 @@ as follows:
this set are considered to support most general arithmetic operations
efficiently.
+On every specification that takes a ``<abi>:<pref>``, specifying the
+``<pref>`` alignment is optional. If omitted, the preceding ``:``
+should be omitted too and ``<pref>`` will be equal to ``<abi>``.
+
When constructing the data layout for a given target, LLVM starts with a
default set of specifications which are then (possibly) overridden by
the specifications in the ``datalayout`` keyword. The default