Chris> Are you using a debug or a release build? A release build (built with
Chris> make ENABLE_OPTIMIZED=1) is often 10x to 20x smaller than a debug
Chris> build, and links correspondingly faster. On some machines, a release
Chris> build builds *faster* than a debug build because the debug symbols are
Chris> so huge. The only thing you lose with a release build is the ability
Chris> to step into LLVM libraries in a debugger.
Ok, I rebuilt with ENABLE_OPTIMIZED=1. This did make a huge
difference -- my rebuild went down to 8 seconds (from 16 minutes... I
timed it this time; my earlier guess was off a bit).
Unfortunately it turns out I do need the debugging capabilities.
Darn.
Chris> I'd suggest sticking with llvm-config and not using shared
Chris> libraries.
I didn't dig into the Makefiles... are the libraries and whatnot built
-fPIC? I ask because I want to dynamically load this code into
libgcj. JVMs pretty much have to be shared libraries (or have a
separate version which is a shared library), at least if you want to
support the invocation API.
Chris> It would be straight-forward to add a new "easy" interface
for
Chris> creating LLVM instructions. Would something like this work well for
Chris> you?
I considered doing this myself but in the end didn't have much need
for it. Anyway, don't add it on my account, I doubt I have too many
more problems like this in my code :-)
Tom