Cleanups, include a list of passes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8948 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2003-10-07 21:38:31 +00:00
parent f204012bd1
commit 47ad72ca5f

View File

@ -36,12 +36,17 @@
<!-- *********************************************************************** -->
This document contains the release notes for the LLVM compiler infrastructure,
release 1.0. The most up-to-date version of this document can be found on the
<a href="http://llvm.cs.uiuc.edu/releases/1.0/ReleaseNotes.html">LLVM web
site</a>. If you are not reading this on the LLVM web pages, you should
probably go there, because this document may be updated after the release.<p>
release 1.0. Here we describe how to install LLVM, as well as any known
problems. The most up-to-date version of this document can be found on the <a
href="http://llvm.cs.uiuc.edu/releases/1.0/">LLVM 1.0 web site</a>. If you are
not reading this on the LLVM web pages, you should probably go there, because
this document may be updated after the release.<p>
FIXME: What is this document? Where do I find other documents?<p>
For more information about LLVM, including information about potentially more
current releases, please check out the <a href="http://llvm.cs.uiuc.edu">main
web site</a>. If you have questions or comments, the <a
href="http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVM developer's mailing
list</a> is a good place to send them.<p>
<!-- *********************************************************************** -->
@ -56,6 +61,46 @@ it is all new! In particular, we are providing a stable C compiler, beta C++
compiler, a C back-end, stable X86 and Sparc V9 static and JIT code generators,
as well as a large suite of scalar and interprocedural optimizations.<p>
The default optimizer sequence used by the C/C++ front-ends is:<p>
<ol>
<li>Interprocedural dead code elimination (-globaldce)
<li>Exception handling pruning (-prune-eh)
<li>Function inlining (-inline)
<li>Instruction combining (-instcombine)
<li>Cast elimination (-raise)
<li>Tail duplication (-tailduplicate)
<li>CFG simplification (-simplifycfg)
<li>Scalar replacement of aggregates (-scalarrepl)
<li>Tail call elimination (-tailcallelim)
<li>Instruction combining (-instcombine)
<li>Reassociation (-reassociate)
<li>Instruction combining (-instcombine)
<li>CFG simplification (-simplifycfg)
<li>Loop canonnicalization (-preheaders)
<li>Loop invariant code motion, with scalar promotion (-licm)
<li>Global common subexpression elimination, with load elimination (-gcse)
<li>Sparse conditional constant propagation (-sccp)
<li>Instruction combining (-instcombine)
<li>Induction variable canonicalization (-indvars)
<li>Aggressive dead code elimination (-adce)
<li>CFG simplication (-simplifycfg)
<li>Dead type elimination (-deadtypeelim)
<li>Global constant merging (-constmerge)
</ol><p>
At link-time, the following optimizations are run:<p>
<ol>
<li>Global constant merging (-constmerge)
<li>[optional] Internalization [which marks most functions and global variables static] (-internalize)
<li>Interprocedural dead argument elimination (-deadargelim)
<li>Instruction combining (-instcombine)
<li>CFG simplification (-simplifycfg)
<li>Interprocedural dead code elimination (-globaldce)
</ol><p>
TODO: Works on: SPEC CPU 2000<p>
TODO: Works on: Olden/Ptrdist benchmarks<p>
@ -342,9 +387,9 @@ via the mailing lists.<p>
<hr><font size-1>
<address>By: <a href="mailto:sabre@nondot.org">Chris Lattner</a></address>
Maintained By: <a href="http://llvm.cs.uiuc.edu/">The LLVM Team</a><br>
<!-- Created: Wed Oct 1 17:38:54 CDT 2003 -->
<!-- hhmts start -->
Last modified: Sun Oct 5 14:01:10 CDT 2003
Last modified: Tue Oct 7 16:32:37 CDT 2003
<!-- hhmts end -->
</body></html>