Dragonegg release notes.

llvm-svn: 128812
This commit is contained in:
Duncan Sands 2011-04-04 11:09:08 +00:00
parent 11522097be
commit 1cd7898dc1
1 changed files with 17 additions and 17 deletions

View File

@ -138,32 +138,32 @@ production-quality compiler for C, Objective-C, C++ and Objective-C++ on x86
<!--=========================================================================--> <!--=========================================================================-->
<div class="doc_subsection"> <div class="doc_subsection">
<a name="dragonegg">DragonEgg: llvm-gcc ported to gcc-4.5</a> <a name="dragonegg">DragonEgg: GCC front-ends, LLVM back-end</a>
</div> </div>
<div class="doc_text"> <div class="doc_text">
NOTE: This should be written to be self-contained without referencing llvm-gcc.
<p> <p>
<a href="http://dragonegg.llvm.org/">DragonEgg</a> is a port of llvm-gcc to <a href="http://dragonegg.llvm.org/">DragonEgg</a> is a
gcc-4.5. Unlike llvm-gcc, dragonegg in theory does not require any gcc-4.5 <a href="http://gcc.gnu.org/wiki/plugins">gcc plugin</a> that replaces GCC's
modifications whatsoever (currently one small patch is needed) thanks to the optimizers and code generators with LLVM's.
new <a href="http://gcc.gnu.org/wiki/plugins">gcc plugin architecture</a>. Currently it requires a patched version of gcc-4.5.
DragonEgg is a gcc plugin that makes gcc-4.5 use the LLVM optimizers and code The plugin can target the x86-32 and x86-64 processor families and has been
generators instead of gcc's, just like with llvm-gcc. used successfully on the Darwin, FreeBSD and Linux platforms.
</p> The Ada, C, C++ and Fortran languages work well.
The plugin is capable of compiling plenty of Obj-C, Obj-C++ and Java but it is
<p> not known whether the compiled code actually works or not!
DragonEgg is still a work in progress, but it is able to compile a lot of code,
for example all of gcc, LLVM and clang. Currently Ada, C, C++ and Fortran work
well, while all other languages either don't work at all or only work poorly.
For the moment only the x86-32 and x86-64 targets are supported, and only on
linux and darwin (darwin may need additional gcc patches).
</p> </p>
<p> <p>
The 2.9 release has the following notable changes: The 2.9 release has the following notable changes:
<ul> <ul>
<li>The plugin is much more stable when compiling Fortran.</li>
<li>Inline asm where an asm output is tied to an input of a different size is
now supported in many more cases.</li>
<li>Basic support for the __float128 type was added. It is now possible to
generate LLVM IR from programs using __float128 but code generation does not
work yet.</li>
<li>Compiling Java programs no longer systematically crashes the plugin.</li>
</ul> </ul>
</div> </div>