[LangRef] Add 'callbr' instruction to the 'blockaddress' section.
authorCraig Topper <craig.topper@intel.com>
Tue, 5 Mar 2019 05:23:37 +0000 (05:23 +0000)
committerCraig Topper <craig.topper@intel.com>
Tue, 5 Mar 2019 05:23:37 +0000 (05:23 +0000)
llvm-svn: 355379

llvm/docs/LangRef.rst

index 9b81c6391a4c98ea98dc206e03dea86c867d1ee7..86972acf6ad3791f882f3bb8835a197fedee8b31 100644 (file)
@@ -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.