Import the boost scoped_ptr class to LLVM. This patch was prepared by
[oota-llvm.git] / docs / ExtendingLLVM.html
index baad89a6ae260b750a4f78b82a61025b67d19417..b072ed3b6e8532fdc10f66b21975813cd7a6b58f 100644 (file)
@@ -107,19 +107,17 @@ support for it.  Generally you must do the following steps:</p>
 <dt>Add support to the C backend in <tt>lib/Target/CBackend/</tt></dt>
 
 <dd>Depending on the intrinsic, there are a few ways to implement this.  For
-most intrinsics, it makes sense to add code to lower your intrinsic in 
-<tt>LowerIntrinsicCall</tt> in <tt>lib/CodeGen/IntrinsicLowering.cpp</tt>.
-Second, if it makes sense to lower the intrinsic to an expanded sequence of C 
-code in all cases, just emit the expansion in <tt>visitCallInst</tt> in
-<tt>Writer.cpp</tt>.  If the intrinsic has some way to express it with GCC 
-(or any other compiler) extensions, it can be conditionally supported based on 
-the compiler compiling the CBE output (see <tt>llvm.prefetch</tt> for an 
-example).  
-Third, if the intrinsic really has no way to be lowered, just have the code 
-generator emit code that prints an error message and calls abort if executed.
-</dd>
+    most intrinsics, it makes sense to add code to lower your intrinsic in
+    <tt>LowerIntrinsicCall</tt> in <tt>lib/CodeGen/IntrinsicLowering.cpp</tt>.
+    Second, if it makes sense to lower the intrinsic to an expanded sequence of
+    C code in all cases, just emit the expansion in <tt>visitCallInst</tt> in
+    <tt>Writer.cpp</tt>.  If the intrinsic has some way to express it with GCC
+    (or any other compiler) extensions, it can be conditionally supported based
+    on the compiler compiling the CBE output (see <tt>llvm.prefetch</tt> for an
+    example).  Third, if the intrinsic really has no way to be lowered, just
+    have the code generator emit code that prints an error message and calls
+    abort if executed.</dd>
 
-<dl>
 <dt>Add support to the .td file for the target(s) of your choice in 
    <tt>lib/Target/*/*.td</tt>.</dt>
 
@@ -127,6 +125,7 @@ generator emit code that prints an error message and calls abort if executed.
     the intrinsic, though it may obviously require adding the instructions you
     want to generate as well.  There are lots of examples in the PowerPC and X86
     backend to follow.</dd>
+</dl>
 
 </div>
 
@@ -228,7 +227,7 @@ complicated behavior in a single node (rotate).</p>
 
 <div class="doc_text">
 
-<p><span class="doc_warning">WARNING: adding instructions changes the bytecode
+<p><span class="doc_warning">WARNING: adding instructions changes the bitcode
 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>
@@ -251,8 +250,8 @@ necessary.</p>
     add the grammar on how your instruction can be read and what it will
     construct as a result</li>
 
-<li><tt>llvm/lib/Bytecode/Reader/Reader.cpp</tt>:
-    add a case for your instruction and how it will be parsed from bytecode</li>
+<li><tt>llvm/lib/Bitcode/Reader/Reader.cpp</tt>:
+    add a case for your instruction and how it will be parsed from bitcode</li>
 
 <li><tt>llvm/lib/VMCore/Instruction.cpp</tt>:
     add a case for how your instruction will be printed out to assembly</li>
@@ -285,7 +284,7 @@ to understand this new instruction.</p>
 
 <div class="doc_text">
 
-<p><span class="doc_warning">WARNING: adding new types changes the bytecode
+<p><span class="doc_warning">WARNING: adding new types changes the bitcode
 format, and will break compatibility with currently-existing LLVM
 installations.</span> Only add new types if it is absolutely necessary.</p>
 
@@ -348,12 +347,12 @@ bool TypesEqual(const Type *Ty, const Type *Ty2,
 <li><tt>llvm/lib/AsmReader/Lexer.l</tt>:
     add ability to parse in the type from text assembly</li>
 
-<li><tt>llvm/lib/ByteCode/Writer/Writer.cpp</tt>:
-    modify <tt>void BytecodeWriter::outputType(const Type *T)</tt> to serialize
+<li><tt>llvm/lib/BitCode/Writer/Writer.cpp</tt>:
+    modify <tt>void BitcodeWriter::outputType(const Type *T)</tt> to serialize
     your type</li>
 
-<li><tt>llvm/lib/ByteCode/Reader/Reader.cpp</tt>:
-    modify <tt>const Type *BytecodeReader::ParseType()</tt> to read your data
+<li><tt>llvm/lib/BitCode/Reader/Reader.cpp</tt>:
+    modify <tt>const Type *BitcodeReader::ParseType()</tt> to read your data
     type</li> 
 
 <li><tt>llvm/lib/VMCore/AsmWriter.cpp</tt>: