summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2010-09-30 17:37:34 +0000
committerDuncan Sands <baldrick@free.fr>2010-09-30 17:37:34 +0000
commit4b1da2b618dd1d52a6ae4b34c45c766233dac367 (patch)
treeea6ca3997a799bd67c5a2f1648b50f226764cc8b /docs
parent1344488d65efcc0c738407ef41d86801f20086a8 (diff)
downloadllvm-4b1da2b618dd1d52a6ae4b34c45c766233dac367.tar.gz
llvm-4b1da2b618dd1d52a6ae4b34c45c766233dac367.tar.bz2
llvm-4b1da2b618dd1d52a6ae4b34c45c766233dac367.tar.xz
Flesh out the dragonegg section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115179 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/ReleaseNotes.html37
1 files changed, 21 insertions, 16 deletions
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index 41d947d39c..573fb4e1d3 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -240,28 +240,33 @@ Soft float support
<div class="doc_text">
<p>
<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!
+gcc-4.5. Unlike llvm-gcc, dragonegg in theory does not require any gcc-4.5
+modifications whatsoever (currently one small patch is needed) thanks to the
+new <a href="http://gcc.gnu.org/wiki/plugins">gcc plugin architecture</a>.
+DragonEgg is a gcc plugin that makes gcc-4.5 use the LLVM optimizers and code
+generators instead of gcc's, just like with llvm-gcc.
</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 and darwin (darwin needs an additional gcc patch).
+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>
-2.8 status here.
+The 2.8 release has the following notable changes:
+<ul>
+<li>The plugin loads faster due to exporting fewer symbols.</li>
+<li>Additional vector operations such as addps256 are now supported.</li>
+<li>Ada global variables with no initial value are no longer zero initialized,
+resulting in better optimization.</li>
+<li>The '-fplugin-arg-dragonegg-enable-gcc-optzns' flag now runs all gcc
+optimizers, rather than just a handful.</li>
+<li>Fortran programs using common variables now link correctly.</li>
+<li>GNU OMP constructs no longer crash the compiler.</li>
+</ul>
</p>
</div>