Add local var annotation intrinsic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37603 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tanya Lattner 2007-06-15 20:50:54 +00:00
parent 0f0eb18add
commit 6d806e93ce
2 changed files with 55 additions and 0 deletions

View File

@ -191,6 +191,12 @@
</li>
<li><a href="#int_debugger">Debugger intrinsics</a></li>
<li><a href="#int_eh">Exception Handling intrinsics</a></li>
<li><a href="#int_general">General intrinsics</a></li>
<ol>
<li><a href="#int_var_annotation">'<tt>llvm.var.annotation</tt>'
Intrinsic</a></li>
</ol>
</li>
</ol>
</li>
</ol>
@ -4819,6 +4825,50 @@ href="ExceptionHandling.html#format_common_intrinsics">LLVM Exception
Handling</a> document. </p>
</div>
<!-- ======================================================================= -->
<div class="doc_subsection">
<a name="int_general">General Intrinsics</a>
</div>
<div class="doc_text">
<p> This class of intrinsics is designed to be generic and has
no specific purpose. </p>
</div>
<!-- _______________________________________________________________________ -->
<div class="doc_subsubsection">
<a name="int_var_annotation">'<tt>llvm.var.annotation</tt>' Intrinsic</a>
</div>
<div class="doc_text">
<h5>Syntax:</h5>
<pre>
declare void @llvm.var.annotation(i8* &lt;val&gt;, i8* &lt;str&gt;)
</pre>
<h5>Overview:</h5>
<p>
The '<tt>llvm.var.annotation</tt>' intrinsic
</p>
<h5>Arguments:</h5>
<p>
The first argument is a pointer to a value, and the second is a pointer to a
global string.
</p>
<h5>Semantics:</h5>
<p>
This intrinsic allows annotation of local variables with arbitrary strings.
This can be useful for special purpose optimizations that want to look for these
annotations. These have no other defined use, they are ignored by code
generation and optimization.
</div>
<!-- *********************************************************************** -->
<hr>

View File

@ -235,6 +235,11 @@ def int_eh_filter : Intrinsic<[llvm_i32_ty, llvm_ptr_ty, llvm_ptr_ty,
llvm_vararg_ty]>;
def int_eh_typeid_for : Intrinsic<[llvm_i32_ty, llvm_ptr_ty]>;
//===---------------- Generic Variable Attribute Intrinsics----------------===//
//
def int_var_annotation : Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_ptr_ty],
[], "llvm.var.annotation">;
//===----------------------------------------------------------------------===//
// Target-specific intrinsics
//===----------------------------------------------------------------------===//