[llvm-commits] Global Merge Pass for ARM

Anton Korobeynikov anton at korobeynikov.info
Sun May 16 23:40:37 PDT 2010


Hi, Eric

> This is pretty cool and simple so far.  What's the benchmarking look like?
In fact the poor results of some numeric codes was the main motivation
for this pass. The typical "bad" code is some sort of FIR/IIR filter
applications (or something similar in the spirit) which needs to
operate on several global memory buffers at once in the tight internal
loop. Like in the mentioned toy example the addresses of globals need
to be kept in the registers leading to spills & reloads inside hot
computation loops. The speedup of such computational kernels might be
up to 2x-3x.

I didn't see any speed degradation for "normal" code.

> At the very least do you mind including the above writeup in a big block comment
> on the pass?  I make no claims about the rest of it, but the pass is pretty
> sparse on documentation and much easier to read with the example there.
Yes, will add with the final version.

-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University




More information about the llvm-commits mailing list