drop some un-edited text for pure and ldc in here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65579 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2009-02-26 22:33:38 +00:00
parent 9de4221e6e
commit ab68e9e7fe

View File

@ -13,6 +13,7 @@
<ol> <ol>
<li><a href="#intro">Introduction</a></li> <li><a href="#intro">Introduction</a></li>
<li><a href="#subproj">Sub-project Status Update</a></li> <li><a href="#subproj">Sub-project Status Update</a></li>
<li><a href="#externalproj">External Projects Using LLVM 2.5</a></li>
<li><a href="#whatsnew">What's New in LLVM?</a></li> <li><a href="#whatsnew">What's New in LLVM?</a></li>
<li><a href="GettingStarted.html">Installation Instructions</a></li> <li><a href="GettingStarted.html">Installation Instructions</a></li>
<li><a href="#portability">Portability and Supported Platforms</a></li> <li><a href="#portability">Portability and Supported Platforms</a></li>
@ -61,6 +62,8 @@ current one. To see the release notes for a specific release, please see the
one MBB to another one MBB to another
debug info for optimized code debug info for optimized code
interpreter + libffi interpreter + libffi
postalloc scheduler: anti dependence breaking, hazard recognizer?
--> -->
<!-- for announcement email: <!-- for announcement email:
@ -98,7 +101,8 @@ and code generator. While Clang is not included in the LLVM 2.5 release, it
is continuing to make major strides forward in all areas. Its C and Objective-C is continuing to make major strides forward in all areas. Its C and Objective-C
parsing and code generation support is now very solid. For example, it is parsing and code generation support is now very solid. For example, it is
capable of successfully building many real applications for X86-32 and X86-64, capable of successfully building many real applications for X86-32 and X86-64,
including the FreeBSD kernel. C++ is also making <a including <a href="http://wiki.freebsd.org/BuildingFreeBSDWithClang">the FreeBSD
kernel</a>. C++ is also making <a
href="http://clang.llvm.org/cxx_status.html">incredible progress</a>, and work href="http://clang.llvm.org/cxx_status.html">incredible progress</a>, and work
on templates has recently started.</p> on templates has recently started.</p>
@ -188,6 +192,64 @@ Spec JVM98 is 6x faster (performance gain of 83%).</li>
</ul> </ul>
</div> </div>
<!-- *********************************************************************** -->
<div class="doc_section">
<a name="externalproj">External Projects Using LLVM 2.5</a>
</div>
<!-- *********************************************************************** -->
<!--=========================================================================-->
<div class="doc_subsection">
<a name="pure">Pure</a>
</div>
<div class="doc_text">
<p>
http://pure-lang.googlecode.com/
</p>
<p>
Pure is an algebraic/functional programming language based on term rewriting.
Programs are collections of equations which are used to evaluate expressions in
a symbolic fashion. Pure offers dynamic typing, eager and lazy evaluation,
lexical closures, a hygienic macro system (also based on term rewriting),
built-in list and matrix support (including list and matrix comprehensions) and
an easy-to-use C interface. The interpreter uses LLVM as a backend to
JIT-compile Pure programs to fast native code.</p>
<p>In addition to the usual algebraic data structures, Pure also has
MATLAB-style matrices in order to support numeric computations and signal
processing in an efficient way. Pure is mainly aimed at mathematical
applications right now, but it has been designed as a general purpose language.
The dynamic interpreter environment and the C interface make it possible to use
it as a kind of functional scripting language for many application areas.
</p>
</div>
<!--=========================================================================-->
<div class="doc_subsection">
<a name="ldc">LLVM D Compiler</a>
</div>
<div class="doc_text">
<p>
http://www.dsource.org/projects/ldc
</p>
<p>
I'd like to inform that the LDC project (LLVM D
Compiler) is working with release 2.5 of LLVM. In fact we've required
2.5 in our trunk since the release was branched.
The improvements in 2.5 have fixed a lot of problems with LDC, more
specifically the new inline asm constraints, better debug info
support, general bugfixes :) and better x86-64 support have allowed
some major improvements in LDC, getting us much closer to being as
fully featured as the original DMD compiler from DigitalMars.
</p>
</div>
<!-- *********************************************************************** --> <!-- *********************************************************************** -->
<div class="doc_section"> <div class="doc_section">
@ -243,7 +305,7 @@ how to write a backend doc docs/WritingAnLLVMBackend.html
fastisel + exception handling fastisel + exception handling
vector widening <3 x float> -> <4 x float> vector widening <3 x float> -> <4 x float>
arm port improvements? arm jit encoding stuff, constant island support? arm port improvements? arm jit encoding stuff, constant island support?
JIT TLS support on x86-32. JIT TLS support on x86-32 but not x86-64.
mem2reg now faster on code with huge basic blocks mem2reg now faster on code with huge basic blocks
stack protectors/stack canaries, -fstack-protector, controllable on a stack protectors/stack canaries, -fstack-protector, controllable on a
per-function basis with attributes. per-function basis with attributes.
@ -254,13 +316,12 @@ llvm/Analysis/DebugInfo.h classes, llvm-gcc and clang and codegen use them.
DebugInfoBuilder gone. DebugInfoBuilder gone.
asmprinters seperate from targets for jits asmprinters seperate from targets for jits
PBQP register allocator now supports register coalescing. PBQP register allocator now supports register coalescing.
JIT supports exceptions on linux/x86-64. JIT supports exceptions on linux/x86-64 and linux/x86-64.
integer overflow intrinsics for [us](add/sub/mul). Supported on all targets, integer overflow intrinsics for [us](add/sub/mul). Supported on all targets,
but only generates efficient code on x86. but only generates efficient code on x86.
X86 backend now supports -disable-mmx. X86 backend now supports -disable-mmx.
noalias attribute on return value indicates that function returns new memory noalias attribute on return value indicates that function returns new memory
(e.g. malloc). (e.g. malloc).
postalloc scheduler: anti dependence breaking, hazard recognizer?
llvmc2 renamed to llvmc llvmc2 renamed to llvmc
Jump threading more powerful: it is iterative, handles threading based on values Jump threading more powerful: it is iterative, handles threading based on values
with fully redundant and partially redundant loads. with fully redundant and partially redundant loads.