1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00

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

llvm-svn: 65579
This commit is contained in:
Chris Lattner 2009-02-26 22:33:38 +00:00
parent cd59854e1c
commit 971ec3c55c

View File

@ -13,6 +13,7 @@
<ol>
<li><a href="#intro">Introduction</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="GettingStarted.html">Installation Instructions</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
debug info for optimized code
interpreter + libffi
postalloc scheduler: anti dependence breaking, hazard recognizer?
-->
<!-- 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
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,
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
on templates has recently started.</p>
@ -188,6 +192,64 @@ Spec JVM98 is 6x faster (performance gain of 83%).</li>
</ul>
</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">
@ -243,7 +305,7 @@ how to write a backend doc docs/WritingAnLLVMBackend.html
fastisel + exception handling
vector widening <3 x float> -> <4 x float>
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
stack protectors/stack canaries, -fstack-protector, controllable on a
per-function basis with attributes.
@ -254,13 +316,12 @@ llvm/Analysis/DebugInfo.h classes, llvm-gcc and clang and codegen use them.
DebugInfoBuilder gone.
asmprinters seperate from targets for jits
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,
but only generates efficient code on x86.
X86 backend now supports -disable-mmx.
noalias attribute on return value indicates that function returns new memory
(e.g. malloc).
postalloc scheduler: anti dependence breaking, hazard recognizer?
llvmc2 renamed to llvmc
Jump threading more powerful: it is iterative, handles threading based on values
with fully redundant and partially redundant loads.