summaryrefslogtreecommitdiffstats
path: root/llvm/docs/UsingLibraries.html
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2004-10-31 22:59:06 +0000
committerReid Spencer <rspencer@reidspencer.com>2004-10-31 22:59:06 +0000
commit67fe9440e6c93c6f63837542c7669ecba655cf62 (patch)
tree6c7d15f40338c7bfa0c28e643b3eee8f2be0a1ce /llvm/docs/UsingLibraries.html
parent737424ced3433cd76d77d25416b92f6c717ba276 (diff)
downloadbcm5719-llvm-67fe9440e6c93c6f63837542c7669ecba655cf62.tar.gz
bcm5719-llvm-67fe9440e6c93c6f63837542c7669ecba655cf62.zip
Renamed UsingLibraries.html
llvm-svn: 17380
Diffstat (limited to 'llvm/docs/UsingLibraries.html')
-rw-r--r--llvm/docs/UsingLibraries.html290
1 files changed, 290 insertions, 0 deletions
diff --git a/llvm/docs/UsingLibraries.html b/llvm/docs/UsingLibraries.html
new file mode 100644
index 00000000000..1fb5fc84c90
--- /dev/null
+++ b/llvm/docs/UsingLibraries.html
@@ -0,0 +1,290 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html>
+<head>
+ <title>Object Files: Understanding The Result Of LLVM Compilation</title>
+ <link rel="stylesheet" href="llvm.css" type="text/css">
+ <style>
+ <!--
+ td { border: 2px solid gray }
+ -->
+ </style>
+</head>
+<body>
+<div class="doc_title">
+ Object Files: Understanding The Result Of LLVM Compilation
+</div>
+
+<ol>
+ <li><a href="#abstract">Abstract</a></li>
+ <li><a href="#introduction">Introduction</a></li>
+ <li><a href="#files">File Contents</a></li>
+ <li><a href="#rot">Linkage Rules Of Thumb</a>
+ <ol>
+ <li><a href="#always">Always Link vmcore.o, support.a</a>
+ <li><a href="#placeholder">Placeholder</a>
+ </ol>
+ </li>
+</ol>
+
+<div class="doc_author">
+ <p>Written by <a href="mailto:rspencer@x10sys.com">Reid Spencer</a></p>
+</div>
+
+<!-- ======================================================================= -->
+<div class="doc_section"><a name="abstract">Abstract</a></div>
+<div class="doc_text">
+<p>This document describes the contents of the many objects files and libraries
+that are produced by compiling LLVM. To make use of LLVM this information is
+needed in order to understand what files should be linked into your program.
+</p>
+</div>
+<!-- ======================================================================= -->
+<div class="doc_section"> <a name="introduction">Introduction</a></div>
+<div class="doc_text">
+<p>If you're writing a compiler, virtual machine, or any other utility for
+ LLVM, you'll need to figure out which of the many .a (archive) and .o
+ (object) files you will need to link with to be successful. An
+ understanding of the contents of these files and their inter-relationships
+ will be useful in coming up with an optimal specification for the objects
+ and libraries to link with.
+</p>
+<p>The purpose of this document is to hopefully reduce some of the trial and
+ error that the author experienced in using LLVM.
+</p>
+</div>
+<!-- ======================================================================= -->
+<div class="doc_section"><a name="files"></a>File Contents</div>
+<div class="doc_text">
+<p>The table below provides a summary of the basic contents of each file.</p>
+<table class="doc_table"
+ style="width:80%; text-align: left; border: 2px solid gray; border-collapse: collapse;">
+<tr class="doc_table">
+ <td colspan="2" class="doc_section">Summary Of LLVM Library And Object Files
+ </td>
+</tr>
+<tr class="doc_table">
+ <td><h2><u>Library</u></h2></td>
+ <td><h2><u>Description</u></h2></td>
+</tr>
+<tr class="doc_table">
+ <td>libipo.a</td>
+ <td>
+ An archive of all interprocedural optimizations.
+ </td>
+</tr>
+<tr class="doc_table">
+ <td>libscalaropts.a</td>
+ <td>
+ An archive of all scalar optimizations.
+ </td>
+</tr>
+<tr class="doc_table">
+ <td>libtransforms.a</td>
+ <td>Uncategorized transformations.</td>
+</tr>
+<tr class="doc_table">
+ <td>libtarget.a</td>
+ <td>An archive containing generic code generator support.</td>
+</tr>
+<tr class="doc_table">
+ <td>libanalysis.a</td>
+ <td>An archive containing intraprocedural analyses.</td>
+</tr>
+<tr class="doc_table">
+ <td>libdatastructure.a</td>
+ <td>An archive containing Data Structure Analysis.</td>
+</tr>
+<tr class="doc_table">
+ <td>libinstrument.a</td>
+ <td>Intraprocedural instrumentation and utilities.</td>
+</tr>
+<tr class="doc_table">
+ <td>libsparcv9regalloc.a</td>
+ <td>SparcV9 graph-coloring register allocator.</td>
+</tr>
+<tr class="doc_table">
+ <td>libipa.a</td>
+ <td>An archive containing interprocedural analyses</td>
+</tr>
+<tr class="doc_table">
+ <td>libtransformutils.a</td>
+ <td>Utility functions for transformations.</td>
+</tr>
+<tr class="doc_table">
+ <td>libsupport.a</td>
+ <td>General support utilities</td>
+</tr>
+<tr class="doc_table">
+ <td><h2><u>Object File</u></h2></td>
+ <td><h2><u>Description</u></h2></td>
+</tr>
+<tr class="doc_table">
+ <td>support.o</td>
+ <td>General support utilities</td>
+</tr>
+<tr class="doc_table">
+ <td>asmparser.o</td>
+ <td>Assembler Parser</td>
+</tr>
+<tr class="doc_table">
+ <td>bcreader.o</td>
+ <td>Bytecode Reader</td>
+</tr>
+<tr class="doc_table">
+ <td>bcwriter.o</td>
+ <td>Bytecode Writer</td>
+</tr>
+<tr class="doc_table">
+ <td>sched.o</td>
+ <td>SparcV9 instruction scheduler</td>
+</tr>
+<tr class="doc_table">
+ <td>selectiondag.o</td>
+ <td>Aggressive instruction selector for Directed Acyclic Graphs</td>
+</tr>
+<tr class="doc_table">
+ <td>transformutils.o</td>
+ <td>Utilities for code transformations</td>
+</tr>
+<tr class="doc_table">
+ <td>ipa.o</td>
+ <td>Interprocedural Analyses</td>
+</tr>
+<tr class="doc_table">
+ <td>sparcv9select.o</td>
+ <td>SparcV9 instruction selector</td>
+</tr>
+<tr class="doc_table">
+ <td>cwriter.o</td>
+ <td>"C" Code Writer</td>
+</tr>
+<tr class="doc_table">
+ <td>profpaths.o</td>
+ <td>Path profiling instrumentation</td>
+</tr>
+<tr class="doc_table">
+ <td>sparcv9regalloc.o</td>
+ <td>SparcV9 graph-coloring register allocator</td>
+</tr>
+<tr class="doc_table">
+ <td>instrument.o</td>
+ <td>Intraprocedural instrumentation and utilities.</td>
+</tr>
+<tr class="doc_table">
+ <td>datastructure.o</td>
+ <td>Data Structure Analysis</td>
+</tr>
+<tr class="doc_table">
+ <td>codegen.o</td>
+ <td>Native code generation</td>
+</tr>
+<tr class="doc_table">
+ <td>sparcv9livevar.o</td>
+ <td>SparcV9 Live Variable Analysis</td>
+</tr>
+<tr class="doc_table">
+ <td>vmcore.o</td>
+ <td>Virtual Machine Core</td>
+</tr>
+<tr class="doc_table">
+ <td>lli-interpreter.o</td>
+ <td>Interpreter for LLVM ByteCode</td>
+</tr>
+<tr class="doc_table">
+ <td>lli-jit.o</td>
+ <td>
+ Just-In-Time Compiler For LLVM ByteCode
+ </td>
+</tr>
+<tr class="doc_table">
+ <td>executionengine.o</td>
+ <td>Engine for LLI</td>
+</tr>
+<tr class="doc_table">
+ <td>debugger.o</td>
+ <td>Source Level Debugging Support</td>
+</tr>
+<tr class="doc_table">
+ <td>analysis.o</td>
+ <td>General framework for Analysis</td>
+</tr>
+<tr class="doc_table">
+ <td>sparcv9.o</td>
+ <td>SparcV9 backend</td>
+</tr>
+<tr class="doc_table">
+ <td>target.o</td>
+ <td>Generic backend support</td>
+</tr>
+<tr class="doc_table">
+ <td>transforms.o</td>
+ <td>Uncategorized transformations.</td>
+</tr>
+<tr class="doc_table">
+ <td>x86.o</td>
+ <td>Intel x86 backend</td>
+</tr>
+<tr class="doc_table">
+ <td>powerpc.o</td>
+ <td>PowerPC backend</td>
+</tr>
+<tr class="doc_table">
+ <td>scalaropts.o</td>
+ <td>Optimizations For Scalars</td>
+</tr>
+<tr class="doc_table">
+ <td>ipo.o</td>
+ <td>Interprocedural Optimizations</td>
+</tr>
+<tr class="doc_table">
+ <td>trace.o</td>
+ <td>Support For Tracing/Debugging?</td>
+</tr>
+<tr class="doc_table">
+ <td>profile_rt.o</td>
+ <td>Runtime Library For Profiler</td>
+</tr>
+<tr class="doc_table">
+ <td>sample.o</td>
+ <td>Sample Program ?</td>
+</tr>
+<tr class="doc_table">
+ <td>stkr_compiler.o</td>
+ <td>Stacker Language Compiler Library</td>
+</tr>
+<tr class="doc_table">
+ <td>stkr_runtime.o</td>
+ <td>Stacker Language Runtime Library</td>
+</tr>
+</table>
+</div>
+<p></p>
+<!-- ======================================================================= -->
+<div class="doc_section"><a name="rot">Linkage Rules Of Thumb</a></div>
+<div class="doc_text">
+ <p>This section contains various "rules of thumb" about what files you
+ should link into your programs.</p>
+</div>
+<!-- ======================================================================= -->
+<div class="doc_subsection"><a name="always">Always Link vmcore.o support.a</a>
+</div>
+<div class="doc_text">
+ <p>No matter what you do with LLVM, you'll always need to link with vmcore.o
+ and support.a.</p>
+</div>
+<!-- ======================================================================= -->
+<div class="doc_subsection"><a name="Placeholder">Placeholder</a></div>
+<div class="doc_text">
+ <p>Need more rules of thumb here.</p>
+</div>
+<!-- ======================================================================= -->
+<hr>
+<div class="doc_footer">
+<address><a href="mailto:rspencer@x10sys.com">Reid Spencer</a></address>
+<a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a>
+<br>Last modified: $Date$ </div>
+</body>
+</html>
+<!-- vim: sw=2 ts=2 ai
+-->
OpenPOWER on IntegriCloud