Fix more crlf issues.
[oota-llvm.git] / docs / ExtendingLLVM.html
index 7f77bb77921f97437560b6669f8675f065aa6bc7..99e209b89403027305729cee2082bdeeb0bad93c 100644 (file)
@@ -2,8 +2,9 @@
                       "http://www.w3.org/TR/html4/strict.dtd">
 <html>
 <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>Extending LLVM: Adding instructions, intrinsics, types, etc.</title>
-  <link rel="stylesheet" href="llvm.css" type="text/css">
+  <link rel="stylesheet" href="_static/llvm.css" type="text/css">
 </head>
 
 <body>
@@ -36,7 +37,7 @@
 </h2>
 <!-- *********************************************************************** -->
 
-<div class="doc_text">
+<div>
 
 <p>During the course of using LLVM, you may wish to customize it for your
 research project or for experimentation. At this point, you may realize that
@@ -73,7 +74,7 @@ effort by doing so.</p>
 </h2>
 <!-- *********************************************************************** -->
 
-<div class="doc_text">
+<div>
 
 <p>Adding a new intrinsic function to LLVM is much easier than adding a new
 instruction.  Almost all extensions to LLVM should start as an intrinsic
@@ -104,19 +105,6 @@ function and then be turned into an instruction if warranted.</p>
 support for it.  Generally you must do the following steps:</p>
 
 <dl>
-<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>
 
 <dt>Add support to the .td file for the target(s) of your choice in 
    <tt>lib/Target/*/*.td</tt>.</dt>
@@ -135,7 +123,7 @@ support for it.  Generally you must do the following steps:</p>
 </h2>
 <!-- *********************************************************************** -->
 
-<div class="doc_text">
+<div>
 
 <p>As with intrinsics, adding a new SelectionDAG node to LLVM is much easier
 than adding a new instruction.  New nodes are often added to help represent
@@ -146,7 +134,7 @@ cases, new nodes have been added to allow many targets to perform a common task
 complicated behavior in a single node (rotate).</p>
 
 <ol>
-<li><tt>include/llvm/CodeGen/SelectionDAGNodes.h</tt>:
+<li><tt>include/llvm/CodeGen/ISDOpcodes.h</tt>:
     Add an enum value for the new SelectionDAG node.</li>
 <li><tt>lib/CodeGen/SelectionDAG/SelectionDAG.cpp</tt>:
     Add code to print the node to <tt>getOperationName</tt>.  If your new node
@@ -225,7 +213,7 @@ complicated behavior in a single node (rotate).</p>
 </h2>
 <!-- *********************************************************************** -->
 
-<div class="doc_text">
+<div>
 
 <p><span class="doc_warning">WARNING: adding instructions changes the bitcode
 format, and it will take some effort to maintain compatibility with
@@ -282,20 +270,18 @@ to understand this new instruction.</p>
 </h2>
 <!-- *********************************************************************** -->
 
-<div class="doc_text">
+<div>
 
 <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>
 
-</div>
-
 <!-- ======================================================================= -->
 <h3>
   <a name="fund_type">Adding a fundamental type</a>
 </h3>
 
-<div class="doc_text">
+<div>
 
 <ol>
 
@@ -321,7 +307,7 @@ installations.</span> Only add new types if it is absolutely necessary.</p>
   <a name="derived_type">Adding a derived type</a>
 </h3>
 
-<div class="doc_text">
+<div>
 
 <ol>
 <li><tt>llvm/include/llvm/Type.h</tt>:
@@ -373,6 +359,8 @@ void calcTypeName(const Type *Ty,
 
 </div>
 
+</div>
+
 <!-- *********************************************************************** -->
 
 <hr>