[llvm-commits] [release_15] CVS: llvm/docs/WritingAnLLVMBackend.html

John Criswell criswell at cs.uiuc.edu
Tue May 17 09:08:45 PDT 2005

Changes in directory llvm/docs:

WritingAnLLVMBackend.html updated: 1.4 ->
Log message:

Merged Misha Modifications from Mainline.

Diffs of the changes:  (+17 -13)

 WritingAnLLVMBackend.html |   30 +++++++++++++++++-------------
 1 files changed, 17 insertions(+), 13 deletions(-)

Index: llvm/docs/WritingAnLLVMBackend.html
diff -u llvm/docs/WritingAnLLVMBackend.html:1.4 llvm/docs/WritingAnLLVMBackend.html:
--- llvm/docs/WritingAnLLVMBackend.html:1.4	Mon Dec 27 13:05:16 2004
+++ llvm/docs/WritingAnLLVMBackend.html	Tue May 17 11:08:29 2005
@@ -109,15 +109,16 @@
 step can be almost automated.</li>
-<p>Now, for static code generation you also need to write an instruction
-selector for your platform: see <tt>lib/Target/*/*ISelSimple.cpp</tt> which
-is no longer "simple" but it gives you the idea: you have to be able to create
-MachineInstrs for any given LLVM instruction using the <tt>InstVisitor</tt>
-pattern, and produce a <tt>MachineFunction</tt> with
-<tt>MachineBasicBlock</tt>s full of <tt><a
-href="CodeGenerator.html#machineinstr">MachineInstr</a></tt>s for a
-corresponding LLVM Function.  Creating an instruction selector is perhaps the
-most time-consuming part of creating a back-end.</p> 
+<p>You also need to write an instruction selector for your platform.  The
+recommended method is the <a
+href="CodeGenerator.html#instselect">pattern-matching instruction selector</a>,
+examples of which you can see in other targets:
+<tt>lib/Target/*/*ISelPattern.cpp</tt>.  The former method for writing
+instruction selectors (<b>not</b> recommended for new targets) is evident in
+<tt>lib/Target/*/*ISelSimple.cpp</tt>, which are <tt>InstVisitor</tt>-based
+translators, generating code for an LLVM instruction at a time.  Creating an
+instruction selector is perhaps the most time-consuming part of creating a
 <p>To create a JIT for your platform:</p>
@@ -229,10 +230,13 @@
 <li><a href="CodeGenerator.html">Code generator</a> -
     describes some of the classes in code generation at a high level, but
-    it is not (yet) complete.</li>
+    it is not (yet) complete</li>
 <li><a href="TableGenFundamentals.html">TableGen fundamentals</a> -
-    describes how to use TableGen to describe your target information succinctly
+    describes how to use TableGen to describe your target information
+    succinctly</li>
+<li><a href="HowToSubmitABug.html#codegen">Debugging code generation with
+    bugpoint</a> - shows bugpoint usage scenarios to simplify backend
+    development</li>
@@ -249,7 +253,7 @@
   <a href="http://misha.brukman.net">Misha Brukman</a><br>
   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a>
-  Last modified: $Date: 2004/12/27 19:05:16 $
+  Last modified: $Date: 2005/05/17 16:08:29 $

More information about the llvm-commits mailing list