diff options
author | Chris Lattner <sabre@nondot.org> | 2009-10-27 21:01:34 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-10-27 21:01:34 +0000 |
commit | e4801f7844bbdac6345870a2dbb8d682398f6e05 (patch) | |
tree | 763a06a7b56041bfdf5c557cd6ec162cacf2944d | |
parent | 35b5753e1797f919f61066bfabe3b0b35c8e91c1 (diff) | |
download | bcm5719-llvm-e4801f7844bbdac6345870a2dbb8d682398f6e05.tar.gz bcm5719-llvm-e4801f7844bbdac6345870a2dbb8d682398f6e05.zip |
document the forthcoming blockaddress constant.
llvm-svn: 85306
-rw-r--r-- | llvm/docs/LangRef.html | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/llvm/docs/LangRef.html b/llvm/docs/LangRef.html index 82e895bec2b..916826aa462 100644 --- a/llvm/docs/LangRef.html +++ b/llvm/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> |