From 749fd83c04b735de1224d96d481d1d926769d536 Mon Sep 17 00:00:00 2001 From: Duncan Sands Date: Fri, 2 Apr 2010 09:23:15 +0000 Subject: Add notes about dragonegg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100183 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/ReleaseNotes.html | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) (limited to 'docs') diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index b36e2ed..e1198bc 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -221,15 +221,35 @@ License, a "BSD-style" license.

-DragonEgg: GCC-4.5 as an LLVM frontend +DragonEgg: llvm-gcc ported to gcc-4.5

-The goal of DragonEgg is to make -gcc-4.5 act like llvm-gcc without requiring any gcc modifications whatsoever. -DragonEgg is a shared library (dragonegg.so) -that is loaded by gcc at runtime. It ... +DragonEgg 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 +gcc plugin architecture, 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! +

+ +

+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. +

+ +

+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.

-- cgit v1.1