summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/LangRef.html37
-rw-r--r--include/llvm/Intrinsics.td4
2 files changed, 41 insertions, 0 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html
index 1b3f4f4..05f4e66 100644
--- a/docs/LangRef.html
+++ b/docs/LangRef.html
@@ -210,6 +210,10 @@
<li><a href="#int_var_annotation">
<tt>llvm.var.annotation</tt>' Intrinsic</a></li>
</ol>
+ <ol>
+ <li><a href="#int_annotation">
+ <tt>llvm.annotation</tt>' Intrinsic</a></li>
+ </ol>
</li>
</ol>
</li>
@@ -5263,6 +5267,39 @@ This can be useful for special purpose optimizations that want to look for these
generation and optimization.
</div>
+<!-- _______________________________________________________________________ -->
+<div class="doc_subsubsection">
+ <a name="int_annotation">'<tt>llvm.annotation</tt>' Intrinsic</a>
+</div>
+
+<div class="doc_text">
+
+<h5>Syntax:</h5>
+<pre>
+ declare i32 @llvm.annotation(i32 &lt;val&gt;, i8* &lt;str&gt;, i8* &lt;str&gt;, i32 &lt;int&gt; )
+</pre>
+
+<h5>Overview:</h5>
+<p>This is an overloaded intrinsic. You can use '<tt>llvm.annotation</tt>' on
+any integer bit width. Not all targets support all bit widths however.
+</p>
+
+<h5>Arguments:</h5>
+
+<p>
+The first argument is an integer value (result of some expression),
+the second is a pointer to a global string, the third is a pointer to a global
+string which is the source file name, and the last argument is the line number.
+</p>
+
+<h5>Semantics:</h5>
+
+<p>
+This intrinsic allows annotations to be put on arbitrary expressions
+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>
diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td
index f7b46b2..9d3b180 100644
--- a/include/llvm/Intrinsics.td
+++ b/include/llvm/Intrinsics.td
@@ -240,6 +240,10 @@ def int_eh_dwarf_cfa : Intrinsic<[llvm_ptr_ty, llvm_i32_ty]>;
def int_var_annotation : Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_ptr_ty,
llvm_ptr_ty, llvm_i32_ty],
[], "llvm.var.annotation">;
+
+def int_annotation : Intrinsic<[llvm_anyint_ty, LLVMMatchType<0>, llvm_ptr_ty,
+ llvm_ptr_ty, llvm_i32_ty],
+ [], "llvm.annotation">;
//===------------------------ Trampoline Intrinsics -----------------------===//
//