From 47ad72ca5f97a340d194197f3feefd0cd07cda5f Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 7 Oct 2003 21:38:31 +0000 Subject: [PATCH] Cleanups, include a list of passes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8948 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/ReleaseNotes.html | 59 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 52 insertions(+), 7 deletions(-) diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index 1bca87dbe59..7e827ab3e61 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -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 -LLVM web -site. 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.

+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 LLVM 1.0 web site. 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.

-FIXME: What is this document? Where do I find other documents?

+For more information about LLVM, including information about potentially more +current releases, please check out the main +web site. If you have questions or comments, the LLVM developer's mailing +list is a good place to send them.

@@ -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.

+The default optimizer sequence used by the C/C++ front-ends is:

+ +

    +
  1. Interprocedural dead code elimination (-globaldce) +
  2. Exception handling pruning (-prune-eh) +
  3. Function inlining (-inline) +
  4. Instruction combining (-instcombine) +
  5. Cast elimination (-raise) +
  6. Tail duplication (-tailduplicate) +
  7. CFG simplification (-simplifycfg) +
  8. Scalar replacement of aggregates (-scalarrepl) +
  9. Tail call elimination (-tailcallelim) +
  10. Instruction combining (-instcombine) +
  11. Reassociation (-reassociate) +
  12. Instruction combining (-instcombine) +
  13. CFG simplification (-simplifycfg) +
  14. Loop canonnicalization (-preheaders) +
  15. Loop invariant code motion, with scalar promotion (-licm) +
  16. Global common subexpression elimination, with load elimination (-gcse) +
  17. Sparse conditional constant propagation (-sccp) +
  18. Instruction combining (-instcombine) +
  19. Induction variable canonicalization (-indvars) +
  20. Aggressive dead code elimination (-adce) +
  21. CFG simplication (-simplifycfg) +
  22. Dead type elimination (-deadtypeelim) +
  23. Global constant merging (-constmerge) +

+ +At link-time, the following optimizations are run:

+ +

    +
  1. Global constant merging (-constmerge) +
  2. [optional] Internalization [which marks most functions and global variables static] (-internalize) +
  3. Interprocedural dead argument elimination (-deadargelim) +
  4. Instruction combining (-instcombine) +
  5. CFG simplification (-simplifycfg) +
  6. Interprocedural dead code elimination (-globaldce) +

+ + TODO: Works on: SPEC CPU 2000

TODO: Works on: Olden/Ptrdist benchmarks

@@ -342,9 +387,9 @@ via the mailing lists.


-
By: Chris Lattner
+Maintained By: The LLVM Team
-Last modified: Sun Oct 5 14:01:10 CDT 2003 +Last modified: Tue Oct 7 16:32:37 CDT 2003 -- 2.34.1