From: Chris Lattner Date: Thu, 2 Oct 2003 16:38:05 +0000 (+0000) Subject: Add ideas and small revisions from Vikram X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=19092619ff761e2eb47e2122ef2cec81a617fd5e;p=oota-llvm.git Add ideas and small revisions from Vikram git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8818 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index b3ad26117bd..4ad4c9f495b 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -9,10 +9,11 @@
  1. Introduction
  2. What's New? +
  3. Portability and Supported Platforms
  4. Installation Instructions
  5. Known Problems
      -
    • Portability Problems +
    • Known problems with the LLVM Core
    • Known problems with the C Front-end
    • Known problems with the C++ Front-end @@ -37,8 +38,10 @@ 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. Since this document may be updated after the release, it is best to -read the copy hosted there. +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?

      @@ -54,7 +57,26 @@ 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.

      TODO: Works on: SPEC CPU 2000

      -TODO: Works on: Olden/Ptrdist benchmarks +TODO: Works on: Olden/Ptrdist benchmarks

      + +The What's New section should give a bulletted list of what is +included, perhaps a couple of lists (Stable, Beta).

      + +It would be useful to give a pointer to a list of the available passes (at least +for the standard compiler techniques).

      + + + +

    +
    +Portability and Supported Platforms +
      + + +LLVM has only been extensively tested on ia32-linux and sparc-solaris machines. +The core LLVM infrastructure uses "autoconf" for portability, so hopefully we +work on more platforms than that. However, it is extremely likely that we +missed something. We welcome portability patches and error messages.

      @@ -76,18 +98,13 @@ FIXME This section contains all known problems with the LLVM system, listed by component. As new problems are discovered, they will be added to these -sections, so it is important to check the web version of -this document for up-to-date information. +sections. + @@ -109,8 +126,8 @@ missed something. We welcome portability patches and error messages.

    • Inline assembly is not yet supported.

    • "long double" is transformed by the front-end into "double". There is no - support for floating point data types of any size other than 32 and 64 bits. -

      + support for floating point data types of any size other than 32 and 64 bits. +

    • C99 Variable sized arrays do not release stack memory when they go out of scope. Thus, the following program may run out of stack space:
      @@ -194,7 +211,7 @@ missed something.  We welcome portability patches and error messages.

      1. Statement Exprs: Putting statements and declarations inside expressions.
      2. Typeof: typeof: referring to the type of an expression. -
      3. Lvalues: Using ?:, , and casts in lvalues. +
      4. Lvalues: Using ?:, "," and casts in lvalues.
      5. Conditionals: Omitting the middle operand of a ?: expression.
      6. Long Long: Double-word integers.
      7. Complex: Data types for complex numbers. @@ -246,16 +263,21 @@ versions. For more information, see the C++ section of the GCC 3.4 release notes.

      8. Destructors for local objects are not always run when a longjmp is - performed. In particular, destructors for objects in the longjmping + performed. In particular, destructors for objects in the longjmping function and in the setjmp receiver function may not be run. Objects in intervening stack frames will be destroyed however (which is better than most compilers).

        -

      9. The calling conventions and name mangling used by the LLVM C++ front-end do - follow the Itanium C++ - ABI, and thus we should be binary compatible with native C++ code - compiled with a recent GCC compiler. However, the exception handling - mechanisms are very different, so they will not interact correctly. +
      10. The LLVM C++ front-end follows the Itanium C++ ABI. + This document, which is not Itanium specific, specifies a standard for name + mangling, class layout, v-table layout, RTTI formats, and other C++ + representation issues. Because we use this API, code generated by the LLVM + compilers should be binary compatible with machine code generated by other + Itanium ABI C++ compilers (such as G++, the Intel and HP compilers, etc). + However, the exception handling mechanism used by LLVM is very + different from the model used in the Itanium ABI, so exceptions will not + interact correctly .


    Known problems with the X86 back-end