[LLVMdev] Slow jitter.

Óscar Fuentes ofv at wanadoo.es
Wed Aug 26 09:49:01 PDT 2009


Dan Gohman <gohman at apple.com> writes:

[snip]

> An interesting option to add is -fast-isel-verbose, which prints out  
> LLVM instructions that aren't going down the fast path.  If there's  
> something that shows up a lot, it may be worthwhile looking into why  
> the front-end is using it, or looking into adding support for that  
> instruction to the fast path.

>From a bytecode file that disassembles into a 240K lines LLVM assembly
file, -fast-isel-verbose outputs ~7600 missed instructions.

There are lots of loads/stores of boolean values (i1), bitcasts and
calls.

store i1 : 1802 occurrences (23%)
load i1* : 1076 occurrences (13%)
call     : 2590 occurrences (34%)
bitcast  : 1848 occurrences (24%)

Almost all the calls have void return value and use the sret attribute.

I can send the bytecode file to anyone interested.

-- 
Óscar




More information about the llvm-dev mailing list