From d88f928a5c4c4a40ee6bdf785767e43ec6167aa8 Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Fri, 20 Jan 2017 21:56:37 +0000 Subject: [PATCH] docs: Document that !absolute_symbol { all-ones, all-ones } means the full set. llvm-svn: 292657 --- llvm/docs/LangRef.rst | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst index e93a02f..ba15713 100644 --- a/llvm/docs/LangRef.rst +++ b/llvm/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 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- 2.7.4