summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2008-09-04 23:05:13 +0000
committerDevang Patel <dpatel@apple.com>2008-09-04 23:05:13 +0000
commitcaacdbab3da51e713c17c83d432dd412660f3c5c (patch)
treedf2dc355e5af51e2254bd5a0089deacb3d20714d
parent6c94b99c6285f6f7156edd20fabf4c0918013600 (diff)
downloadbcm5719-llvm-caacdbab3da51e713c17c83d432dd412660f3c5c.tar.gz
bcm5719-llvm-caacdbab3da51e713c17c83d432dd412660f3c5c.zip
Document function notes.
llvm-svn: 55808
-rw-r--r--llvm/docs/LangRef.html38
1 files changed, 37 insertions, 1 deletions
diff --git a/llvm/docs/LangRef.html b/llvm/docs/LangRef.html
index 4d73aaafe8d..56691145273 100644
--- a/llvm/docs/LangRef.html
+++ b/llvm/docs/LangRef.html
@@ -750,7 +750,8 @@ an optional <a href="#linkage">linkage type</a>, an optional
<a href="#paramattrs">parameter attribute</a> for the return type, a function
name, a (possibly empty) argument list (each with optional
<a href="#paramattrs">parameter attributes</a>), an optional section, an
-optional alignment, an optional <a href="#gc">garbage collector name</a>, an
+optional alignment, an optional <a href="#gc">garbage collector name</a>,
+an optional <a href="#notes">function notes</a>, an
opening curly brace, a list of basic blocks, and a closing curly brace.
LLVM function declarations consist of the "<tt>declare</tt>" keyword, an
@@ -912,6 +913,41 @@ the named garbage collection algorithm.</p>
<!-- ======================================================================= -->
<div class="doc_subsection">
+ <a name="notes">Function Notes</a>
+</div>
+
+<div class="doc_text">
+<p>Each function may specify function notes.</p>
+
+<div class="doc_code">
+<pre>define void @f() notes(inline=Always) { ... }</pre>
+<pre>define void @f() notes(inline=Always,opt-size) { ... }</pre>
+<pre>define void @f() notes(inline=Never,opt-size) { ... }</pre>
+<pre>define void @f() notes(opt-size) { ... }</pre>
+</div>
+
+<p>
+<li>inline=Always
+<p>
+This note requests inliner to inline this function irrespective of
+inlining size threshold for this function.
+</p></li>
+<li>inline=Never
+<p>
+This note requests inliner to never inline this function in any situation.
+This note may not be used together with inline=Always note.
+</p></li>
+<li>opt-size
+<p>
+This note suggests optimization passes and code generator passes to make
+choices that help reduce code size.
+</p></li>
+<p>
+The notes that are not documented here are considered invalid notes.
+</div>
+
+<!-- ======================================================================= -->
+<div class="doc_subsection">
<a name="moduleasm">Module-Level Inline Assembly</a>
</div>
OpenPOWER on IntegriCloud