From: Peter Collingbourne Date: Fri, 20 Jan 2017 21:56:37 +0000 (+0000) Subject: docs: Document that !absolute_symbol { all-ones, all-ones } means the full set. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b786258fde5af060282a58372b557de2e390ab98;p=llvm docs: Document that !absolute_symbol { all-ones, all-ones } means the full set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292657 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/LangRef.rst b/docs/LangRef.rst index e93a02f6b02..ba15713429f 100644 --- a/docs/LangRef.rst +++ b/docs/LangRef.rst @@ -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 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^