X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FReleaseNotes.html;h=d1759f1c539b26575e10168051abadd05aec3950;hb=6568fe876c4b3b2f1ee9f326b52369a9b5c944b2;hp=6efb3ce85953b6dcd81d6aa1f5ee438c5e71c346;hpb=74032a5702c08c90879775a96d64bce72582ad1b;p=oota-llvm.git
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index 6efb3ce8595..d1759f1c539 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -22,7 +22,7 @@
Known problems with the C Front-end
Known problems with the C++ Front-end
Known problems with the X86 Back-end
- Known problems with the Sparc Back-end
+ Known problems with the SparcV9 Back-end
Known problems with the C back-end
Additional Information
@@ -71,8 +71,8 @@ href="http://llvm.cs.uiuc.edu/releases/">releases page.
This is the fourth public release of the LLVM compiler infrastructure. This
release primarily improves the performance of the
-code produced by all aspects of the LLVM compiler and adds some new features, though it does fix a few
+code produced by all aspects of the LLVM compiler and adds many new features, and fixes a few
bugs as well.
At this time, LLVM is known to correctly compile and run all C & C++
@@ -105,17 +105,41 @@ constrained to be the same as the CFG for the LLVM input code.
LLVM now has new loop unrolling and loop unswitching passes.
The induction variable substitution pass performs linear function test
replacement and exit value replacement optimizations.
-The LLVM Bytecode file format is now
- documented.
-LLVM now has first-class support for Accurate
-Garbage Collection, enabling the use of aggressive copying and generational
-collectors.
+LLVM now has first-class support for Accurate Garbage Collection, enabling the use
+of aggressive copying and generational collectors.
LLVM now includes an implementation of Andersen's interprocedural alias
analysis algorithm.
Bugpoint can extract individual
basic blocks to track down reduce miscompilation testcases.
-LLVM and the C front-end now work under Win32 using the cygnus libraries.
+LLVM and the C front-end now work under Win32 using the
+Cygwin runtime libraries.
This includes the JIT compiler.
+The LLVM code generator is now being documented.
+There is a new tool, llvm-bcanalyzer. This tool can compute basic
+statistics and bytecode density statistics on a module or function basis and
+also dump out bytecode in a textual format that is lower level than assembly
+(values are not resolved from slot numbers). It should only be of interest to
+(a) those who are working to improve the bytecode format and (b) those who
+really want to understand or document the details of the bytecode format.
+The LLVM Bytecode file format is now
+documented.
+LLVM now provides an llvm.isunordered intrinsic for efficient
+implementation of unordered floating point comparisons.
+The llvmgcc front-end now supports the GCC builtins for ISO C99 floating
+point comparison macros (e.g., __builtin_islessequal).
+Now that there are more source files than can fit on a 32Kbyte command
+line (Linux's limit), there's a new utility for searching the sources. The
+llvmgrep tool in the utils directory combines an egrep and a find without
+passing filenames through the command line. This improves performance
+slightly. Simply run llvmgrep like you might egrep but leave off the file
+names.
+We now generate HTML documentation and man pages for the tools from a single
+source (perl-style POD files).
+The LLVM code generator can now dynamically load targets from shared
+objects.
@@ -155,6 +179,12 @@ bytecode onto your terminal
[llvmgcc] type names are not emitted
for structure typedefs
All documentation is now conformant to the HTML 4.01 (Strict) level.
+The spurious "WARNING: Found global types that are not compatible" warning
+produced when linking C++ programs has been fixed.
+lli Doesn't Handle Exceptions From
+Bytecode Reader
+operator<< on a Value* now prints the address of the object instead of its contents.
+[loopsimplify] Loop simplify is really slow on 252.eon
@@ -170,6 +200,10 @@ In this release, the following build problems were fixed:
-disable/enable-povray and -disable-spec
shell scripts output by gccld don't
work if you change PATH
+[llvmgcc] llvmgcc does not compile
+with gcc 3.4
+[llvmgcc] obstack.h relies on
+obsolete casts-as-lvalues GCC extension
@@ -215,6 +249,13 @@ operators into the strict versions when useful (such as "if (A < B || A
LLVM now has infrastructure for (simple and sparse conditional) constant
propagation of function calls. It currently supports a few math library
functions like sqrt/sin/cos/etc.
+
+The C backend now emits Syntactic
+loops in the code to help C compilers whose optimizers do not recognize
+loops formed from gotos (like GCC).
+
+Fixed: [sparcv9] null
+often spilled to constant pool.
@@ -229,30 +270,44 @@ were fixed:
Bugs in the LLVM Core:
-- [vmcore] Linker causes erroneous
-asssertion
- [loopsimplify] Loop simplify
incorrectly updates dominator information
- [tailduplicate] DemoteRegToStack
breaks SSA form
- [X86] JIT miscompiles unsigned short
to floating point cast
+- [jit] abort, don't warn, when
+missing external functions encountered
+- [vmcore] Linker causes erroneous
+asssertion
- [adce] Crash handling unreachable
code that unwinds
-- [sparc] LLC can't emit 2 functions
+
- [sparcv9] LLC can't emit 2 functions
of the same name, both having constant pools
- [livevar] Live variables missed
physical register use of aliased definition
-- Verifier misses malformed switch instruction
+- Verifier misses malformed switch
+instruction
+- [asmwriter] Asm writer aborts if
+an instruction is not embedded into a function
+- [X86] stackifier crash on floating
+point setcc X, X
Bugs in the C/C++ front-end:
-- [llvmgcc] Crash on use of undeclared
-enum type
- [llvmgcc] Variable length array
indexing miscompiled
+- [llvmgcc] Crash on use of undeclared
+enum type
+- [llvmgcc] Errors handling function
+prototypes that take opaque structs by-value
+- [llvmgcc] Crash compiling variable
+length array of structures
+- [llvmgcc] miscompilation of staticly
+initialized unsigned bitfields
+- [llvm-gcc] Crash casting function to void
@@ -338,7 +393,7 @@ components, please contact us on the llvmdev list.