diff options
| author | Török Edwin <edwintorok@gmail.com> | 2010-05-03 07:43:03 -0700 | 
|---|---|---|
| committer | José Fonseca <jfonseca@vmware.com> | 2010-05-03 17:01:20 +0100 | 
| commit | 15af543f106db9e6ff840828905df4978e68f715 (patch) | |
| tree | 0794233d006e148767eaefb8b488acfb74adcbf6 /progs/tests | |
| parent | 723ab664f617e60812ea236761b429e999abc83c (diff) | |
Reorder LLVM passes, running mem2reg earlier.
This gives a ~30% shader optimization time improvement on blender.
Tested by comparing the dumped LLVM modules.
Current ordering:
time ~/llvm-git/obj/Release-Asserts/bin/opt l.bc  -constprop -instcombine
-mem2reg -gvn  -simplifycfg
real    0m1.126s
user    0m1.108s
sys     0m0.012s
With this patch:
time ~/llvm-git/obj/Release-Asserts/bin/opt l.bc -mem2reg -constprop -instcombine   -gvn  -simplifycfg
real    0m0.885s
user    0m0.880s
sys     0m0.000s
The overall improvement in blender is ~15%.
Blender without the patch takes 1m13s:
edwin     5934 87.6 11.5 729440 458296 pts/5   SLl+ 17:35   1:13 blender
Blender with the patch takes 1m3s:
edwin     5726 94.2 11.2 716424 446168 pts/5   SLl+ 17:32   1:03 blender
It is still slow with the patch, but better (most of the optimization time is
taken up by GVN, see LLVM PR7023).
Signed-off-by: Török Edwin <edwintorok@gmail.com>
Signed-off-by: José Fonseca <jfonseca@vmware.com>
Diffstat (limited to 'progs/tests')
0 files changed, 0 insertions, 0 deletions
