[LLVMdev] LLVM vs GCC binary performance

Renato Golin rengolin at systemcall.org
Fri Mar 11 09:42:09 PST 2011


On 11 March 2011 14:53, Duncan Sands <baldrick at free.fr> wrote:
> There's no magic bullet.  The things to improve that would give you the most
> bang for your buck are probably the code generator and auto-vectorization.
> Increasing the number of developers would be helpful.

I'm not a GCC expert, but their auto-vectorization is not that great.
It may be simple to do basic loop transformations and some stupid
vectorization, but having a really good vectoriser is a lot of work.

I personally think that the biggest difference is the number of people
that have contributed over the years on very specific optimizations.
There are as many corner cases as there are particles in the universe
(maybe more), and implementing each one of them requires time and
people willing. LLVM has the latter, but lacks the former, for now.

Spending a full year on a vectoriser prototype might bring less value
than the same year optimizing micro-benchmarks against GCC...

Not that I don't think we should have a vectoriser, Poly is going to
be great! But until it's not (and it's going to take some time), we
better focus on some magic, as GCC did over the decades.

My tuppence,

--renato




More information about the llvm-dev mailing list