Thursday, April 22, 2010

dragon egg

If you've ever tried to even read the instructions for building llvm-gcc (much less try to build it), you understand why this is good news.

http://dragonegg.llvm.org/

Sounds like gcc has gained a plugin architecture, and the llvm folks are putting together a plugin, 'DragonEgg', that uses LLVM as the back end.

Why do I care about this?

1) Clang still does not support lexical functions, which are critically important to Irken's performance.
2) The version of llvm-gcc distributed with Apple's XCode uses an older version of llvm that implements the address-of-label extension with a hack so horrible I would be embarrassed to describe it to you.

2 comments:

  1. I spent some time building this, and although I was eventually able to do it, the resulting dragonegg.so file still doesn't work. Guess I'll just wait a while longer - they do say it's in an 'alpha' state right now.

    ReplyDelete
  2. After letting the developers work on it a while, I svn updated both llvm and dragonegg, I was finally able to compile it and get it working... nice!

    ReplyDelete