diff options
-rw-r--r-- | llvm/docs/LangRef.rst | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst index 9b81c6391a4..86972acf6ad 100644 --- a/llvm/docs/LangRef.rst +++ b/llvm/docs/LangRef.rst @@ -3294,14 +3294,14 @@ basic block in the specified function, and always has an ``i8*`` type. Taking the address of the entry block is illegal. This value only has defined behavior when used as an operand to the -':ref:`indirectbr <i_indirectbr>`' instruction, or for comparisons -against null. Pointer equality tests between labels addresses results in -undefined behavior --- though, again, comparison against null is ok, and -no label is equal to the null pointer. This may be passed around as an +':ref:`indirectbr <i_indirectbr>`' or ':ref:`callbr <i_callbr>`'instruction, or +for comparisons against null. Pointer equality tests between labels addresses +results in undefined behavior --- though, again, comparison against null is ok, +and no label is equal to the null pointer. This may be passed around as an opaque pointer sized value as long as the bits are not inspected. This allows ``ptrtoint`` and arithmetic to be performed on these values so -long as the original value is reconstituted before the ``indirectbr`` -instruction. +long as the original value is reconstituted before the ``indirectbr`` or +``callbr`` instruction. Finally, some targets may provide defined semantics when using the value as the operand to an inline assembly, but that is target specific. |