docs: Document that !absolute_symbol { all-ones, all-ones } means the full set.

llvm-svn: 292657
This commit is contained in:
Peter Collingbourne 2017-01-20 21:56:37 +00:00
parent 058a6c09b9
commit 04b1dc5f67

View File

@ -4601,16 +4601,19 @@ declaration. It marks the declaration as a reference to an absolute symbol,
which causes the backend to use absolute relocations for the symbol even
in position independent code, and expresses the possible ranges that the
global variable's *address* (not its value) is in, in the same format as
``range`` metadata.
``range`` metadata, with the extension that the pair ``all-ones,all-ones``
may be used to represent the full set.
Example:
Example (assuming 64-bit pointers):
.. code-block:: llvm
@a = external global i8, !absolute_symbol !0 ; Absolute symbol in range [0,256)
@b = external global i8, !absolute_symbol !1 ; Absolute symbol in range [0,2^64)
...
!0 = !{ i64 0, i64 256 }
!1 = !{ i64 -1, i64 -1 }
'``unpredictable``' Metadata
^^^^^^^^^^^^^^^^^^^^^^^^^^^^