[LLVMdev] Slow jitter.

Dan Gohman gohman at apple.com
Wed Aug 26 17:40:14 PDT 2009


On Aug 26, 2009, at 9:49 AM, Óscar Fuentes wrote:


> 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%)

I've added fast-path support for loads and stores of i1 now.

> call     : 2590 occurrences (34%)

The fast-path doesn't currently support sret (which you mention below).

> bitcast  : 1848 occurrences (24%)

For bitcasts, it depends on the specific types involved.

Dan

>
> Almost all the calls have void return value and use the sret  
> attribute.
>
> I can send the bytecode file to anyone interested.
>
> -- 
> Óscar
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>






More information about the llvm-dev mailing list