[LLVMdev] Size and performance figures for LLVM?

Joachim Durchholz jo at durchholz.org
Tue May 13 02:24:17 PDT 2008


Am Dienstag, den 13.05.2008, 00:42 -0700 schrieb Bill Wendling:
> Sorry to step into this in the middle of a thread, but what exactly is  
> LLVM's autoconf doing that "autoconf shouldn't do if properly set up"?

1) Variables like CC, CXX, CFLAGS don't work properly when submitted via
the command line. The handling seems to be inconsistent, i.e. it seems
that parts of the toolchain receive these flags, others don't.
This is just a cosmetic problem, of course.
2) The setting of --build should be the default for --host, and the
value of --host should be the default for --target. The build machinery
seems to take the defaults for --host and --target from elsewhere,
specifying just --build or --host will cause amd64 assembly to be fed to
an assembler running in i686 mode.
3) On a 64-bit Ubuntu, setting --build/host/target=i686-pc-linux-gnu
will work when compiling with gcc, but llvm-gcc will try to feed 64-bit
machine code to the assembler in this situation. At least that's what
happens when bootstrapping.
4) I also dimly recall having seen llvm-gcc use 64-bit library paths for
linking the 32-bit binaries (with ensuing hilarity, of course). I had
postponed further investigation with this issue until after I'd get the
assembly stage working - this approach had worked well with gcc, too.

I'm under the impression that problems 1-3 are caused by autoconf as
used in LLVM.
I don't know about problem 4; it might be because Ubuntu's handling of
library paths is inherently broken, or it might be a consequence of
problem 3.

If autoconf in LLVM can be cleaned up, I'd be really like to do it.
Having expertise in that area might just be what's been missing, so if
you're willing to give a helping hand to an autoconf newbie, this might
finally work out.

> I have some experience with autoconf. I don't know if I've ever seen  
> one "properly set up" before. :-)

I can understand that, it's a beast and few if any people ever set it up
for cross compilation anyway.
I assume that a cross compilation capable tool like LLVM needs a
particularly careful setup in autoconf to avoid breakage like the above.

Regards,
Jo




More information about the llvm-dev mailing list