I threw the current version of the patch up here:
http://nondot.org/sabre/llvm-gcc-4.0-patch.tar.gz
This is a patch vs the Apple branch as of a few weeks ago. The diff is in
gcc.patch.txt, the new files are included in the tarball.
Note, there are not enough caveats in the world to include with this. :)
I literally ran to work, grabbed the diff and am uploading it. The patch
has tested (with Apple code, not with dejagnu) at various points with
'--enable-languages=c,objc --enable-llvm'. It's entirely possible that I
was in the middle of something Friday and I forgot about them, and it is
very clear that the patch is incomplete (was not intending to make it
public for a month, so there are still FIXMEs and other missing pieces).
Also, a lot of the changes in objc-act.c are LLVM-independent speedup
patches I've fed to Fariborz separately for inclusion in mainline.
However, it should at least give the list some concrete idea of what I'm
talking about. :) If you have specific criticisms of the patch, I
welcome the feedback, please send it to me privately.
The main part of the translation process is in llvm-convert.cpp.
Oh, if you want to test it, you have to download and build an LLVM
tarball, and hack LLVMBASELIBPATH in the gcc/Makefile.in to point to the
directory. An --enable-checking build uses the debug libraries, a normal
build uses the release LLVM libraries.
Clearly there is a lot of work to do on the patch, so don't go too hard on
me. ;-) Again, suggestions for improvements are welcome.
-Chris
--
http://nondot.org/sabre/
http://llvm.org/