We did some benchmarks on code size with clang, gcc 4.5, and open64. Clang performed second in the test. The benchmark is CSiBE. Clang can’t compile the linux kernel (some inline asm not supported) and replaypc (error: use of unknown builtin ‘__builtin_next_arg’). The concrete results are attached.
HMM, GCC is always the best.
Nice, I don't have access to CSiBE. Out of curiosity, why aren't llvm -O2 numbers included? Would you be willing to track down a few examples of things where llvm is generating bigger code and file PRs?
That error looks extremely strange; where is the call to
__builtin_next_arg coming from?
That was just a casual test when I was playing with LLVM. So I only tried the default configuration of CSiBE, which is -Os. I’ll track down a few examples when I am free.
The replaypc package of CSiBE ( only contains .i files. They were probably generated by gcc.