summaryrefslogtreecommitdiff
path: root/docs
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
commitf8b94812a15515efd5a9ddf422358bad5ebb4105 (patch)
tree848a092b7662d2a366f490858b7f7d8458c55096 /docs
parent4a03775777785ef758cff8c0699a6bf571a1f2b9 (diff)
downloadllvm-f8b94812a15515efd5a9ddf422358bad5ebb4105.tar.gz
llvm-f8b94812a15515efd5a9ddf422358bad5ebb4105.tar.bz2
llvm-f8b94812a15515efd5a9ddf422358bad5ebb4105.tar.xz
Document function notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55808 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/LangRef.html38
1 files changed, 37 insertions, 1 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html
index 4d73aaafe8..5669114527 100644
--- a/docs/LangRef.html
+++ b/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>