diff options
-rw-r--r-- | docs/LangRef.html | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html index 82e895bec2..916826aa46 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -83,6 +83,7 @@ <li><a href="#complexconstants">Complex Constants</a></li> <li><a href="#globalconstants">Global Variable and Function Addresses</a></li> <li><a href="#undefvalues">Undefined Values</a></li> + <li><a href="#blockaddress">Address of Basic Block</a></li> <li><a href="#constantexprs">Constant Expressions</a></li> <li><a href="#metadata">Embedded Metadata</a></li> </ol> @@ -2171,6 +2172,29 @@ has undefined behavior.</p> </div> <!-- ======================================================================= --> +<div class="doc_subsection"><a name="blockaddress">Address of Basic + Block</a></div> +<div class="doc_text"> + +<p><b><tt>blockaddress(@function, %block)</tt></b></p> + +<p>The '<tt>blockaddress</tt>' constant computes the address of the specified + basic block in the specified function, and always has an i8* type.</p> + + +<p>This value only has defined behavior when used as an operand to the + '<a href="#i_indbr"><tt>indbr</tt></a>' instruction or for comparisons + against null. Pointer equality tests between labels addresses is undefined + behavior - though, again, comparison against null is ok, and no label is + equal to the null pointer. Some targets may provide defined semantics when + using the value as the operand to an inline assembly, but that is target + specific. + </p> + +</div> + + +<!-- ======================================================================= --> <div class="doc_subsection"><a name="constantexprs">Constant Expressions</a> </div> @@ -2688,7 +2712,8 @@ IfUnequal: <p>The '<tt>indbr</tt>' instruction implements an indirect branch to a label within the current function, whose address is specified by - "<tt>address</tt>".</p> + "<tt>address</tt>". Address must be derived from a <a + href="#blockaddress">blockaddress</a> constant.</p> <h5>Arguments:</h5> |