* Add features I implemented this release.
* Wrap long lines at 80 cols
* Indent lists so structure of document is a little more clear
* Make the page HTML 4.01 Strict compliant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18258 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index 125f423..4035c90 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -85,34 +85,60 @@
</div>
<div class="doc_text">
-
<ol>
- <li>The test/Programs hierarchy <a href="http://llvm.cs.uiuc.edu/PR257">has
- been moved out of the main LLVM tree</a> into a separate CVS repo and
- tarball. This shrinks the distribution size of LLVM itself dramatically.
+ <li>LLVM now optimizes global variables significantly more than it did
+ before.
</li>
- <li>LLVM now optimizes global variables significantly more than it did
- before.</li>
- <li>LLVM now includes the new '<tt>undef</tt>' value and <a
- href="LangRef.html#i_unreachable"><tt>unreachable</tt></a> instruction,
- which give the optimizer more information about the behavior of the
- program.</li>
- <li>The LLVM makefiles have been improved to build LLVM much faster (2x) and
- includes new targets (like dist-check, uninstall). One important change is
- associated with <a href="http://llvm.cs.uiuc.edu/PR456>PR456">PR456</a>.
- The libraries and tools will now be built into
- <tt>$builddir/Debug/{bin,lib}</tt> instead of
- <tt>$builddir/tools/Debug</tt> and <tt>$builddir/lib/Debug</tt>. Similarly
- for <tt>Release</tt> and <tt>Profile</tt> builds.
+ <li>LLVM now includes the new '<tt>undef</tt>' value and
+ <a href="LangRef.html#i_unreachable"><tt>unreachable</tt></a> instruction,
+ which give the optimizer more information about the behavior of the
+ program.
+ </li>
+ <li>llvmgcc and llvmg++ now emit source line number information when '-g' is
+ passed in. This information can be used with llvm-db or other tools and
+ passes.
+ </li>
+ <li>The test/Programs hierarchy <a href="http://llvm.cs.uiuc.edu/PR257">has
+ been moved out of the main LLVM tree</a> into a separate CVS repository and
+ tarball. This shrinks the distribution size of LLVM itself significantly.
+ </li>
+ <li>Bytecode compression with bzip2 has been implemented. All bytecode files
+ generated by LLVM will now be compressed by default. Compression can be
+ disabled with the <tt>-disable-compression</tt> option to the tools that can
+ generate bytecode files.
+ </li>
+ <li>A generic <a href="http://llvm.cs.uiuc.edu/PR353">compiler driver</a> and
+ an associated <a href="CommandGuide/html/llvm-ld.html">generic linker</a> have
+ been implemented. The compiler driver is generic because it can be configured
+ to pre-process, translate, optimize, assemble, and link code from any source
+ language. This aids compiler writers because all that is needed is a
+ source-to-bytecode or source-to-assembly translator and a configuration file.
+ The linker is generic because it allows dynamically loadable optimization
+ modules to be executed for link-time optimization. Language specific
+ link-time optimization modules can be created and executed automatically.
+ </li>
+ <li>The <a href="http://llvm.cs.uiuc.edu/PR263">dependent libraries</a>
+ feature has been implemented. This allows front end compilers to indicate in
+ the bytecode which libraries the bytecode needs to be linked with. Both the
+ C/C++ front end and Stacker support generating the required libraries. The
+ Linker now supports using this information to ensure required libaries are
+ linked into the module. This minimizes the need to use the <tt>-l</tt> option
+ when using <a href="CommandGuide/html/llvmc.html"><tt>llvmc</tt></a>
+ </li>
+ <li>The LLVM makefiles have been improved to build LLVM faster (2x) and
+ includes new targets (like dist-check, uninstall). One important change is
+ associated with <a href="http://llvm.cs.uiuc.edu/PR456">PR456</a>. The
+ libraries and tools will now be built into <tt>$builddir/Debug/{bin,lib}</tt>
+ instead of <tt>$builddir/tools/Debug</tt> and <tt>$builddir/lib/Debug</tt>.
+ Similarly for <tt>Release</tt> and <tt>Profile</tt> builds.
</li>
<li>The LLVM source code is much more compatible with Microsoft Visual C++,
- including the JIT and runtime-code generation, though the entire system
- may not work with it.</li>
- <li>llvmgcc and llvmg++ now emit source line number information when '-g' is
- passed in. This information can be used with llvm-db or other tools and
- passes.</li>
+ including the JIT and runtime-code generation, though the entire system
+ may not work with it.
+ </li>
<li>The target-to-JIT interfaces <a href="http://llvm.cs.uiuc.edu/PR283">are
- now much simpler</a> and more powerful.</li>
+ now much simpler</a> and more powerful.
+ </li>
</ol>
</div>
@@ -127,14 +153,15 @@
<ol>
<li><a href="http://llvm.cs.uiuc.edu/PR419">JIT interface should support
- arbitrary calls</a></li>
+ arbitrary calls</a>
+ </li>
<li>The <tt>llvm-ar</tt> tool was previously incomplete and didn't properly
support other ar(1) implementations. This has been corrected. <tt>llvm-ar</tt>
now fully supports all archive editing functions, table of contents listing,
extraction, and printing. It can also read BSD4.4/MacOSX and SVR4 style
- archives. See <a
- href="http://llvm.cs.uiuc.edu/docs/CommandGuide/html/llvm-ar.html">llvm-ar</a>
- for details.</li>
+ archives. See <a href="CommandGuide/html/llvm-ar.html">llvm-ar</a> for
+ details.
+ </li>
</ol>
</div>
@@ -148,15 +175,18 @@
<div class="doc_text">
<ol>
-<li><a href="http://llvm.cs.uiuc.edu/PR426">[llvmg++] Tons of warnings are spewed when
- linking to libstdc++</a></li>
-<li><a href="http://llvm.cs.uiuc.edu/PR352">include/{Support,Config} ->
- include/llvm/{Support,Config}</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR426">[llvmg++] Tons of warnings
+ are spewed when linking to libstdc++</a>
+ </li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR352">include/{Support,Config} ->
+ include/llvm/{Support,Config}</a>
+ </li>
<li>The names of the libraries generated by compiling LLVM source have been
changed to ensure they do not conflict with other packages upon installation.
Each LLVM library is now prefixed with LLVM and uses mixed clase. For example,
the library <tt>libasmparser.a</tt> in 1.3 has become
- <tt>libLLVMAsmParser.a</tt> in release 1.4.</li>
+ <tt>libLLVMAsmParser.a</tt> in release 1.4.
+ </li>
</ol>
</div>
@@ -170,7 +200,8 @@
<ol>
<li><a href="http://llvm.cs.uiuc.edu/PR256">[autoconf] further standardizing
autoconf usage</a>. Various improvements in the configure.ac script were
- made as well as the makefile system.</li>
+ made as well as the makefile system.
+ </li>
</ol>
</div>
@@ -182,8 +213,9 @@
<div class="doc_text">
<ol>
-<li><a href="http://llvm.cs.uiuc.edu/PR362">Ugly code generated for
- std::min/std::max</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR362">Ugly code generated for
+ std::min/std::max</a>
+ </li>
</ol>
</div>
@@ -198,32 +230,33 @@
<p>Bugs fixed in the LLVM Core:</p>
<ol>
-<li><a href="http://llvm.cs.uiuc.edu/PR420">[licm] LICM invalidates alias analysis info
- and uses broken information</a> (optimizer crash)</li>
-<li><a href="http://llvm.cs.uiuc.edu/PR422">[asmwriter] Asmwriter is really slow for
- functions with lots of values</a></li>
-<li><a href="http://llvm.cs.uiuc.edu/PR423">[anders-aa] Andersen's AA is completely
- broken in LLVM 1.3</a></li>
-<li><a href="http://llvm.cs.uiuc.edu/PR430">[bcwriter] Empty compaction tables
- defined</a></li>
-<li><a href="http://llvm.cs.uiuc.edu/PR227">[X86] llc output for functions w/certain
- names tickles GNU 'as' bugs</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR420">[licm] LICM invalidates alias
+ analysis info and uses broken information</a> (optimizer crash)</li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR422">[asmwriter] Asmwriter is really
+ slow for functions with lots of values</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR423">[anders-aa] Andersen's AA is
+ completely broken in LLVM 1.3</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR430">[bcwriter] Empty compaction
+ tables defined</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR227">[X86] llc output for functions
+ w/certain names tickles GNU 'as' bugs</a></li>
</ol>
<p>Bugs in the C/C++ front-end:</p>
<ol>
-<li><a href="http://llvm.cs.uiuc.edu/PR445">[llvmg++] not enough templates are instantiated</a></li>
-<li><a href="http://llvm.cs.uiuc.edu/PR450">[llvmg++] Extern const globals cannot be
-marked 'constant' if they have nontrivial ctors or dtors</a></li>
-<li><a href="http://llvm.cs.uiuc.edu/PR461">[llvmgcc] Crash compiling unnamed
+ <li><a href="http://llvm.cs.uiuc.edu/PR445">[llvmg++] not enough templates are
+ instantiated</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR450">[llvmg++] Extern const globals
+ cannot be marked 'constant' if they have nontrivial ctors or dtors</a></li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR461">[llvmgcc] Crash compiling unnamed
bitfield which does not increase struct size</a></li>
</ol>
<p>Bugs fixed in the Sparc V9 back-end:</p>
<ol>
-<li><a href="http://llvm.cs.uiuc.edu/PR428">[sparcv9] regalloc assertion
+ <li><a href="http://llvm.cs.uiuc.edu/PR428">[sparcv9] regalloc assertion
failure with certain indirect calls</a></li>
</ol>
@@ -311,24 +344,24 @@
<div class="doc_text">
<ul>
-
-<li>In the JIT, <tt>dlsym</tt> on a symbol compiled by the JIT will not
-work.</li>
-
-<li>The JIT does not use mutexes to protect its internal data structures. As
-such, execution of a threaded program could cause these data structures to be
-corrupted.</li>
-
-<li>Linking in static archive files (.a files) is slow (there is no symbol
-table in the archive).</li>
-
-<li>The gccld program <a href="http://llvm.cs.uiuc.edu/PR139">does not link
-objects/archives in the order specified on the command line.</a></li>
-
-<li><a href="http://llvm.cs.uiuc.edu/PR240">The lower-invoke pass does not mark
-values live across a setjmp as volatile</a>. This missing feature only affects
-targets whose setjmp/longjmp libraries do not save and restore the entire
-register file.</li>
+ <li>In the JIT, <tt>dlsym</tt> on a symbol compiled by the JIT will not work.
+ </li>
+ <li>The JIT does not use mutexes to protect its internal data structures. As
+ such, execution of a threaded program could cause these data structures to be
+ corrupted.
+ </li>
+ <li>Linking in static archive files (.a files) is slow by default because
+ there is no symbol table in the archive. To remedy this, run
+ <a href="CommandGuide/html/llvm-ranlib.html"><tt>llvm-ranlib</tt></a> on the
+ archive to add an LLVM symbol table.
+ </li>
+ <li>The gccld program <a href="http://llvm.cs.uiuc.edu/PR139">does not link
+ objects/archives in the order specified on the command line.</a>
+ </li>
+ <li><a href="http://llvm.cs.uiuc.edu/PR240">The lower-invoke pass does not
+ mark values live across a setjmp as volatile</a>. This missing feature
+ only affects targets whose setjmp/longjmp libraries do not save and restore
+ the entire register file.</li>
</ul>
</div>