Partial update for Release 1.9

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31350 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer 2006-11-01 16:15:04 +00:00
parent 560a8d0512
commit bb9fd30e6b

View File

@ -4,11 +4,11 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="llvm.css" type="text/css">
<title>LLVM 1.8 Release Notes</title>
<title>LLVM 1.9 Release Notes</title>
</head>
<body>
<div class="doc_title">LLVM 1.8 Release Notes</div>
<div class="doc_title">LLVM 1.9 Release Notes</div>
<ol>
<li><a href="#intro">Introduction</a></li>
@ -32,7 +32,7 @@
<div class="doc_text">
<p>This document contains the release notes for the LLVM compiler
infrastructure, release 1.8. Here we describe the status of LLVM, including any
infrastructure, release 1.9. Here we describe the status of LLVM, including any
known problems and major improvements from the previous release. The most
up-to-date version of this document (corresponding to LLVM CVS) can be found
on the <a
@ -61,92 +61,58 @@ href="http://llvm.org/releases/">releases page</a>.</p>
<div class="doc_text">
<p>This is the ninth public release of the LLVM Compiler Infrastructure. This
release incorporates a large number of enhancements and new features,
including DWARF debugging support (C and C++ on Darwin/PPC), improved inline
assembly support, a new <a href="http://llvm.org/nightlytest/">nightly
tester</a>, llvm-config enhancements, many bugs
fixed, and performance and compile time improvements.
<p>This is the tenth public release of the LLVM Compiler Infrastructure. This
release incorporates a large number of enhancements and new features.
</p>
</div>
<!--=========================================================================-->
<div class="doc_subsection">
<a name="newfeatures">New Features in LLVM 1.8</a>
<a name="newfeatures">New Features in LLVM 1.9</a>
</div>
<!--_________________________________________________________________________-->
<div class="doc_subsubsection"><a name="dwarf">DWARF debugging
support </a></div>
<div class="doc_subsubsection"><a name="elfdwarf">DWARF debugging
support for X86/ELF</a></div>
<div class="doc_text">
<p>The llvm-gcc4 C front-end now generates debugging info for C and C++. This
information is propagated through the compiler and the code generator can
currently produce DWARF debugging information from it. DWARF is a standard
debugging format used on many platforms, but currently LLVM only includes
target support for Mac OS X targets for the 1.8 release.
</p>
<p>The llvm-gcc4 C front-end now generates debugging info for C and C++ for
X86/ELF platforms (Linux). This extends the PPC/Darwin and X86/Darwin debugging
support available in release 18.8 DWARF is a standard debugging format used on
many platforms.</p>
</div>
<!--_________________________________________________________________________-->
<div class="doc_subsubsection"><a name="inlineasm">Inline Assembly
Support</a></div>
<div class="doc_subsubsection"><a name="signedinst">Signed Instructions</a></div>
<div class="doc_text">
<p>Inline assembly support is substantially improved in LLVM 1.8 over LLVM 1.7.
Many unsupported features are now supported, and inline asm support in the X86
backend is far better. llvm-gcc4 now supports global register variables as
well.</p>
<p>As a step towards making LLVM's integer types signless, several new
instructions have been added to LLVM. The DIV instruction has become UDIV, SDIV,
and FDIV. The REM instruction has become UREM, SREM and FREM. The SHR
instruction has become ASHR and LSHR. See the <a href="LangRef.html">Language
Reference</a> for details on these new instructions.</p>
</div>
<!--_________________________________________________________________________-->
<div class="doc_subsubsection"><a name="loopopt">Loop Optimizer Improvements</a></div>
<div class="doc_subsubsection"><a name="featureA">New Feature C</a></div>
<div class="doc_text">
<p>The loop optimizer passes now uses "Loop-Closed SSA Form", which makes it
easier to update SSA form as loop transformations change the code. An
immediate benefit of this is that the loop unswitching pass can now unswitch
loops in more cases.
</p>
<p>Describe feature C here.</p>
</div>
<!--_________________________________________________________________________-->
<div class="doc_subsubsection"><a name="jumptab">Jump Table Support for Switches
</a></div>
<div class="doc_subsubsection"><a name="featureB">New Feature D</a></div>
<div class="doc_text">
<p>The code generator now lowers switch statements to jump tables, providing
significant performance boosts for applications (e.g. interpreters) whose
performance is highly correlated to switch statement performance.</p>
<p>Describe feature D here.</p>
</div>
<!--_________________________________________________________________________-->
<div class="doc_subsubsection"><a name="jitrelease">Deallocation of JIT'd
Machine Code
</a></div>
<div class="doc_subsubsection"><a name="jitrelease">New Feature E</a></div>
<div class="doc_text">
<p>The LLVM JIT now allows clients to deallocate machine code JIT'd to its code
buffer. This is important for long living applications that depend on the JIT.
</p>
<p>Describe feature E here.</p>
</div>
<!--_________________________________________________________________________-->
<div class="doc_subsubsection"><a name="other">Other Improvements</a></div>
<div class="doc_text">
<p>This release includes many other improvements, including improvements to
the optimizers and code generators (improving the generated code) changes to
speed up the compiler in many ways (improving algorithms and fine tuning