Constants never get names.
[oota-llvm.git] / docs / ExtendingLLVM.html
index 1c2408ab59df8a3ce94c2e11eab571451067b433..6aece2ff9ce7a0ebd014896cc4caac69d001aa58 100644 (file)
@@ -100,12 +100,13 @@ function and then be turned into an instruction if warranted.</p>
     not access memory or does not write to memory, add it to the relevant list
     of functions.</li>
 
-<li><tt>llvm/lib/Transforms/Utils/Local.cpp</tt>: If it is possible to constant
-    propagate your intrinsic, add support to it in the
+<li><tt>llvm/lib/Transforms/Utils/Local.cpp</tt>: If it is possible to
+    constant-propagate your intrinsic, add support to it in the
     <tt>canConstantFoldCallTo</tt> and <tt>ConstantFoldCall</tt> functions.</li>
 
 <li>Test your intrinsic</li>
-<li><tt>llvm/test/Regression/*</tt>: add your test cases to the test suite.</li>
+
+<li><tt>llvm/test/Regression/*</tt>: add your test cases to the test suite</li>
 </ol>
 
 <p>If this intrinsic requires code generator support (i.e., it cannot be
@@ -144,14 +145,23 @@ 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/InstructionReader.cpp</tt>:
+<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/VMCore/Instruction.cpp</tt>:
     add a case for how your instruction will be printed out to assembly</li>
 
 <li><tt>llvm/lib/VMCore/Instructions.cpp</tt>:
-    implement the class you defined in <tt>llvm/include/llvm/Instructions.h</tt></li>
+    implement the class you defined in
+    <tt>llvm/include/llvm/Instructions.h</tt></li>
+
+<li>Test your instruction</li>
+
+<li><tt>llvm/lib/Target/*</tt>: 
+    Add support for your instruction to code generators, or add a lowering
+    pass.</li>
+
+<li><tt>llvm/test/Regression/*</tt>: add your test cases to the test suite.</li>
 
 </ol>