summaryrefslogtreecommitdiff
path: root/docs/ReleaseNotes.html
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2010-04-02 09:23:15 +0000
committerDuncan Sands <baldrick@free.fr>2010-04-02 09:23:15 +0000
commit749fd83c04b735de1224d96d481d1d926769d536 (patch)
tree760fb5a901e66b789312ef3021c1163b1176999a /docs/ReleaseNotes.html
parent66820482062b9d4a0042172dbae300a0c571af80 (diff)
downloadllvm-749fd83c04b735de1224d96d481d1d926769d536.tar.gz
llvm-749fd83c04b735de1224d96d481d1d926769d536.tar.bz2
llvm-749fd83c04b735de1224d96d481d1d926769d536.tar.xz
Add notes about dragonegg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100183 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/ReleaseNotes.html')
-rw-r--r--docs/ReleaseNotes.html30
1 files changed, 25 insertions, 5 deletions
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index b36e2ed590..e1198bc827 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -221,15 +221,35 @@ License, a "BSD-style" license.</p>
<!--=========================================================================-->
<div class="doc_subsection">
-<a name="dragonegg">DragonEgg: GCC-4.5 as an LLVM frontend</a>
+<a name="dragonegg">DragonEgg: llvm-gcc ported to gcc-4.5</a>
</div>
<div class="doc_text">
<p>
-The goal of <a href="http://dragonegg.llvm.org/">DragonEgg</a> is to make
-gcc-4.5 act like llvm-gcc without requiring any gcc modifications whatsoever.
-<a href="http://dragonegg.llvm.org/">DragonEgg</a> is a shared library (dragonegg.so)
-that is loaded by gcc at runtime. It ...
+<a href="http://dragonegg.llvm.org/">DragonEgg</a> is a port of llvm-gcc to
+gcc-4.5. Unlike llvm-gcc, which makes many intrusive changes to the underlying
+gcc-4.2 code, dragonegg in theory does not require any gcc-4.5 modifications
+whatsoever (currently one small patch is needed). This is thanks to the new
+<a href="http://gcc.gnu.org/wiki/plugins">gcc plugin architecture</a>, which
+makes it possible to modify the behaviour of gcc at runtime by loading a plugin,
+which is nothing more than a dynamic library which conforms to the gcc plugin
+interface. DragonEgg is a gcc plugin that causes the LLVM optimizers to be run
+instead of the gcc optimizers, and the LLVM code generators instead of the gcc
+code generators, just like llvm-gcc. To use it, you add
+"-fplugin=path/dragonegg.so" to the gcc-4.5 command line, and gcc-4.5 magically
+becomes llvm-gcc-4.5!
+</p>
+
+<p>
+DragonEgg is still a work in progress. Currently C works very well, while C++,
+Ada and Fortran work fairly well. 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.
+</p>
+
+<p>
+DragonEgg has not yet been released. Once gcc-4.5 has been released, dragonegg
+will probably be released as part of the following LLVM release.
</p>
</div>