From f74c0ccc7d10d71002fb2ac70fcfb842836afe19 Mon Sep 17 00:00:00 2001 From: Duncan Sands Date: Sun, 10 Feb 2008 13:40:55 +0000 Subject: [PATCH] Add some Ada info and correct a few buglets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46928 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/ReleaseNotes.html | 71 +++++++++++++++++++++++++++++++++++------- 1 file changed, 60 insertions(+), 11 deletions(-) diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index 19644ff5d93..ebc619ed28c 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -97,7 +97,7 @@ llvm 2.2, and will be redesigned or removed in llvm 2.3.

LLVM 2.1, llvm-gcc 4.2 was beta). Since LLVM 2.1, the llvm-gcc 4.2 front-end has made leaps and bounds and is now at least as good as 4.0 in virtually every area, and is better in several areas (for example, exception handling -correctness, support for Ada and FORTRAN). We strongly recommend that you +correctness, support for Ada and Fortran). We strongly recommend that you migrate from llvm-gcc 4.0 to llvm-gcc 4.2 in this release cycle because LLVM 2.2 is the last release that will support llvm-gcc 4.0: LLVM 2.3 will only support the llvm-gcc 4.2 front-end.

@@ -126,11 +126,11 @@ this project, please see its web site.

  • Scott Michel contributed an SPU backend, which generates code for the vector coprocessors on the Cell processor. (Status?)
  • -
  • llvm-gcc 4.2 has significantly improved support for the GCC Ada (GNAT) and -FORTRAN (gfortran) frontends. Duncan has the llvm-gcc 4.2 GNAT front-end -supporting almost all of the ACATS testsuite (except 2 tests?). The llvm-gcc -4.2 gfortran front-end supports a broad range of FORTRAN code, but does not support EQUIVALENCE yet.
  • +
  • Anton and Duncan significantly improved llvm-gcc 4.2 support for the GCC Ada +(GNAT) and Fortran (gfortran) front-ends. These front-ends should still be considered +experimental however: see the list of known problems. +The release binaries do not contain either front-end: they need to be built from +source (the Ada front-end only builds on x86-32 linux).
  • Dale contributed full support for long double on x86/x86-64 (where it is 80 bits) and on Darwin PPC/PPC64 (where it is 128 bits). In previous LLVM @@ -168,7 +168,7 @@ language with LLVM and shows how to use several important APIs.
  • construction routines as well as several other auxiliary APIs.
  • Anton added readnone/readonly attributes for modeling function side effects. -Duncan hooked up GCC's pure/const attributes to use them and enhanced mod/ref +Duncan hooked up GCC's pure/const attributes to them and enhanced mod/ref analysis to use them.
  • Devang added LLVMFoldingBuilder, a version of LLVMBuilder that implicitly @@ -182,7 +182,7 @@ and could be used for serializing arbitrary other data into bitcode files.
  • type in a register, in memory according to the platform ABI, and in memory when we have a choice. -
  • Duncan moved parameter attributes off of FunctionType and onto functions +
  • Reid moved parameter attributes off of FunctionType and onto functions and calls. This makes it much easier to add attributes to a function in a transformation pass.
  • @@ -211,7 +211,7 @@ dominator and loop information on machine code and merged the code for forward and backward dominator computation.
  • Dan added support for emitting debug information with .file and .loc -directives on that support it, instead of emitting large tables in the .s +directives on platforms that support it, instead of emitting large tables in the .s file.
  • Evan extended the DAG scheduler to model physical register dependencies @@ -300,6 +300,7 @@ support for architecture variants.
  • details?).
  • Evan contributed several enhancements to Darwin/x86 debug information, and improvements at -O0 (details?).
  • +
  • Duncan added x86-64 support for trampolines (pointers to nested functions).
  • @@ -528,6 +529,7 @@ programs.
  • The C backend violates the ABI of common C++ programs, preventing intermixing between C++ compiled by the CBE and C++ code compiled with LLC or native compilers.
  • +
  • The C backend does not support all exception handling constructs.
  • @@ -538,6 +540,52 @@ programs. Known problems with the C front-end + +
    + Known problems with the Ada front-end +
    + +
    +The llvm-gcc 4.2 Ada compiler works fairly well, however this is not a mature +technology and problems should be expected. + +
    + + +
    + Known problems with the Fortran front-end +
    + +
    + + +
    +
    Bugs
    @@ -567,7 +615,7 @@ llvmdev mailing list if you are interested.

    As in Algol and Pascal, lexical scoping of functions. Nested functions are supported, but llvm-gcc does not support - taking the address of a nested function (except on the X86-32 target) + taking the address of a nested function (except on X86 targets) or non-local gotos.
  • Function Attributes: @@ -661,7 +709,8 @@ tested and works for a number of non-trivial programs, including LLVM itself, Qt, Mozilla, etc.