Add local var annotation intrinsic.
authorTanya Lattner <tonic@nondot.org>
Fri, 15 Jun 2007 20:50:54 +0000 (20:50 +0000)
committerTanya Lattner <tonic@nondot.org>
Fri, 15 Jun 2007 20:50:54 +0000 (20:50 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37603 91177308-0d34-0410-b5e6-96231b3b80d8

docs/LangRef.html
include/llvm/Intrinsics.td

index 9efc1c17ff856d2c30408cb4fb24b7f4fe10d08c..796aa563a7b27db5bc468c04415776a8fef74526 100644 (file)
       </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>
index e76362d36f732b3f28a221d4ba8f7777db18fff9..4b427f30a432562b613a9808ac3c0f18c817559b 100644 (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
 //===----------------------------------------------------------------------===//