summaryrefslogtreecommitdiffstats
path: root/llvm/docs/ExtendingLLVM.html
diff options
context:
space:
mode:
authorMisha Brukman <brukman+llvm@gmail.com>2004-04-06 04:17:51 +0000
committerMisha Brukman <brukman+llvm@gmail.com>2004-04-06 04:17:51 +0000
commitc069ca5d056e1fb1e8cde6688cce24312f84cf75 (patch)
tree8a14931cc4931bca2b1f8507e2f975fd28f842c7 /llvm/docs/ExtendingLLVM.html
parent2282a6eb319c0239c44ea985a41a2e98f50c6fcf (diff)
downloadbcm5719-llvm-c069ca5d056e1fb1e8cde6688cce24312f84cf75.tar.gz
bcm5719-llvm-c069ca5d056e1fb1e8cde6688cce24312f84cf75.zip
Incorporated Chris' comments.
llvm-svn: 12690
Diffstat (limited to 'llvm/docs/ExtendingLLVM.html')
-rw-r--r--llvm/docs/ExtendingLLVM.html16
1 files changed, 9 insertions, 7 deletions
diff --git a/llvm/docs/ExtendingLLVM.html b/llvm/docs/ExtendingLLVM.html
index 8c880e5ba7c..7dc8d15dfea 100644
--- a/llvm/docs/ExtendingLLVM.html
+++ b/llvm/docs/ExtendingLLVM.html
@@ -50,6 +50,12 @@ different passes that you intend to use with your extension, and there are
<em>many</em> LLVM analyses and transformations, so it may be quite a bit of
work.</p>
+<p>Adding an <a href="#intrinsic">intrinsic function</a> is easier than adding
+an instruction, and is transparent to optimization passes which treat it as an
+unanalyzable function. If your added functionality can be expressed as a
+function call, an intrinsic function is the method of choice for LLVM
+extension.</p>
+
<p>Before you invest a significant amount of effort into a non-trivial
extension, <span class="doc_warning">ask on the list</span> if what you are
looking to do can be done with already-existing infrastructure, or if maybe
@@ -72,11 +78,12 @@ href="http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVM-dev</a>.</p>
<div class="doc_text">
<p><span class="doc_warning">WARNING: adding instructions changes the bytecode
-format, and will break compatibility with currently-existing LLVM
-installations.</span> Only add an instruction if it is absolutely
+format, and it will take some effort to maintain compatibility with
+the previous version.</span> Only add an instruction if it is absolutely
necessary.</p>
<ol>
+
<li><tt>llvm/include/llvm/Instruction.def</tt>:
add a number for your instruction and an enum name</li>
@@ -117,11 +124,6 @@ to understand this new instruction.</p>
<div class="doc_text">
-<p>Adding an intrinsic function is easier than adding an instruction, and is
-transparent to optimization passes which treat it as an unanalyzable function.
-If your added functionality can be expressed as a function call, an intrinsic
-function is the method of choice for LLVM extension.</p>
-
<ol>
<li><tt>llvm/include/llvm/Intrinsics.h</tt>:
OpenPOWER on IntegriCloud