Remove unnecessary FP_EXTEND. This causes worse codegen for SSE.
[oota-llvm.git] / docs / UsingLibraries.html
index 490fd1a51704b32d6194e73da7f09451c14c1f26..5c24300d1f72d2083edf8d31dd6099a3c96b37c7 100644 (file)
 <table style="text-align:left">
   <tr><th>Library</th><th>Forms</th><th>Description</th></tr>
   <tr><th colspan="3">Core Libraries</th></tr>
+  <tr><td>LLVMArchive</td><td><tt>.a</tt></td>
+    <td>LLVM archive reading and writing</td></tr>
   <tr><td>LLVMAsmParser</td><td><tt>.o</tt></td>
-    <td>LLVM Assembly Parsing</td></tr>
+    <td>LLVM assembly parsing</td></tr>
   <tr><td>LLVMBCReader</td><td><tt>.o</tt></td>
-    <td>LLVM Bytecode Reading</td></tr>
+    <td>LLVM bytecode reading</td></tr>
   <tr><td>LLVMBCWriter</td><td><tt>.o</tt></td>
-    <td>LLVM Bytecode Writing</td></tr>
+    <td>LLVM bytecode writing</td></tr>
+  <tr><td>LLVMCore</td><td><tt>.o</tt></td>
+    <td>LLVM core intermediate representation</td></tr>
   <tr><td>LLVMDebugger</td><td><tt>.o</tt></td>
-    <td>Source Level Debugging Support</td></tr>
+    <td>Source level debugging support</td></tr>
+  <tr><td>LLVMLinker</td><td><tt>.a</tt></td>
+    <td>Bytecode and archive linking interface</td></tr>
   <tr><td>LLVMSupport</td><td><tt>.a .o</tt></td>
     <td>General support utilities</td></tr>
   <tr><td>LLVMSystem</td><td><tt>.a .o</tt></td>
-    <td>Operating system abstraction</td></tr>
-  <tr><td>LLVMCore</td><td><tt>.o</tt></td>
-    <td>LLVM Core IR</td></tr>
+    <td>Operating system abstraction layer</td></tr>
 
   <tr><th colspan="3">Analysis Libraries</th></tr>
   <tr><td>LLVMAnalysis</td><td><tt>.a .o</tt></td>
   <tr><td>LLVMPowerPC</td><td><tt>.o</tt></td>
     <td>PowerPC code generation backend</td></tr>
   <tr><td>LLVMSelectionDAG</td><td><tt>.o</tt></td>
-    <td>Aggressive instruction selector for Directed Acyclic Graphs.</td></tr>
+    <td>Aggressive instruction selector for directed acyclic graphs.</td></tr>
   <tr><td>LLVMSkeleton</td><td><tt>.a .o</tt></td>
     <td>Skeleton for a code generation backend.</td></tr>
+  <tr><td>LLVMSparcV8</td><td><tt>.o</tt></td>
+    <td>Code generation for SparcV8.</td></tr>
   <tr><td>LLVMSparcV9</td><td><tt>.o</tt></td>
     <td>Code generation for SparcV9.</td></tr>
   <tr><td>LLVMSparcV9RegAlloc</td><td><tt>.a .o</tt></td>
 <!-- ======================================================================= -->
 <div class="doc_section"><a name="dependencies"></a>Library Dependencies</div>
 <div class="doc_text">
-  <p>The following list shows the dependency relationships between libraries.
-  This information can be automatically generated with the
-  <tt>GenLibDeps.pl</tt> utility in the <tt>llvm/utils</tt> directory.</p>
+  <p>Below are two dependency graphs and a list that show the relationships
+  between the various LLVM archive libraries and object files.  This information 
+  can be automatically generated with the <tt>GenLibDeps.pl</tt> utility found
+  in the <tt>llvm/utils</tt> directory.</p>
   <!-- =======NOTE: =========================================================-->
-  <!-- === The following <dl> list is generated automatically by the util ===-->
-  <!-- === named GenLibDeps.pl in the llvm/utils directory. This should   ===-->
-  <!-- === updated whenever new libraries are added, removed, or changed  ===-->
+  <!-- === The following graphs and <dl> list are generated automatically ===-->
+  <!-- === by the util named GenLibDeps.pl in the llvm/utils directory.   ===-->
+  <!-- === This should be updated whenever new libraries are added,       ===-->
+  <!-- === removed, or changed                                            ===-->
   <!-- =======NOTE: =========================================================-->
+  <h2>Dependency Relationships Of Libraries</h2>
+  <p>This graph shows the dependency of archive libraries on other archive 
+  libraries or objects. Where a library has both archive and object forms, only
+  the archive form is shown.</p>
+  <img src="img/libdeps.gif" alt="Library Dependencies"/>
+  <h2>Dependency Relationships Of Object Files</h2>
+  <p>This graph shows the dependency of object files on archive libraries or 
+  other objects. Where a library has both object and archive forms, only the 
+  dependency to the archive form is shown.</p> 
+  <img src="img/objdeps.gif" alt="Object File Dependencies"/>
+  <p>The following list shows the dependency relationships between libraries in
+  textual form. The information is the same as shown on the graphs but arranged
+  alphabetically.</p>
 <dl>
   <dt><b>libLLVMAnalysis.a</b</dt><dd><ul>
     <li>libLLVMScalarOpts.a</li>
     <li>libLLVMSystem.a</li>
     <li>LLVMbzip2.o</li>
   </ul></dd>
-  <dt><b>libLLVMSystem.a</b</dt><dd><ul>
-  </ul></dd>
+  <dt><b>libLLVMSystem.a</b</dt><dd></dd>
   <dt><b>libLLVMTarget.a</b</dt><dd><ul>
     <li>libLLVMSupport.a</li>
     <li>LLVMCore.o</li>
     <li>libLLVMSystem.a</li>
     <li>LLVMbzip2.o</li>
   </ul></dd>
-  <dt><b>LLVMSystem.o</b</dt><dd><ul>
-  </ul></dd>
+  <dt><b>LLVMSystem.o</b</dt><dd></dd>
   <dt><b>LLVMTarget.o</b</dt><dd><ul>
     <li>libLLVMSupport.a</li>
     <li>LLVMCore.o</li>
     <li>LLVMCodeGen.o</li>
     <li>LLVMCore.o</li>
   </ul></dd>
-  <dt><b>LLVMbzip2.o</b</dt><dd><ul>
-  </ul></dd>
+  <dt><b>LLVMbzip2.o</b</dt><dd></dd>
   <dt><b>LLVMipa.o</b</dt><dd><ul>
     <li>libLLVMAnalysis.a</li>
     <li>libLLVMSupport.a</li>