[LLVMdev] Slow jitter.

Chris Lattner clattner at apple.com
Wed Aug 26 08:32:58 PDT 2009


On Aug 26, 2009, at 7:47 AM, Óscar Fuentes wrote:
>> Also if you use -time-passes with llc it should show which pass in  
>> llc
>> takes so much time.
>
> These are the three main culprits for llc -O0
>
>   ---User Time---   --System Time--   --User+System--   ---Wall  
> Time---  --- Name ---
>  10.9531 ( 30.0%)   0.4687 ( 58.8%)  11.4218 ( 30.6%)  11.5468  
> ( 30.6%)  X86 DAG->DAG Instruction Selection
>  10.2500 ( 28.0%)   0.0156 (  1.9%)  10.2656 ( 27.5%)  10.2500  
> ( 27.2%)  Live Variable Analysis
>   4.8593 ( 13.3%)   0.0000 (  0.0%)   4.8593 ( 13.0%)   4.8593  
> ( 12.9%)  Linear Scan Register Allocator
>
> And there for -pre-RA-sched=fast -regalloc=simple -O0 code.bc
>
>  10.7187 ( 45.4%)   0.4375 ( 60.8%)  11.1562 ( 45.8%)  11.1718  
> ( 45.4%)  X86 DAG->DAG Instruction Selection
>   7.4687 ( 31.6%)   0.0156 (  2.1%)   7.4843 ( 30.7%)   7.5312  
> ( 30.6%)  Simple Register Allocator
>   1.9531 (  8.2%)   0.1406 ( 19.5%)   2.0937 (  8.6%)   2.1093  
> (  8.5%)  X86 Intel-Style Assembly Printer
>
> I suppose we can't get rid of instruction selection :-)

Pass -fast-isel to speed up instruction selection.

Dan, I think that this should be made "non hidden" and updated (from  
llc --help):

   -fast-isel                              - Enable the experimental  
"fast" instruction selector


-Chris



More information about the llvm-dev mailing list