It helps a bit with vertex shader performance on i915g (a couple percent faster with openarena).
I have tried most other passes, and they weren't showing any measurable improvement. Note that my vertex shaders didn't have loops, so maybe the loop optimizations could still be useful in the future. --- src/gallium/auxiliary/gallivm/lp_bld_init.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c index 673c16e..4a428ee 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_init.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c @@ -147,7 +147,10 @@ create_pass_manager(struct gallivm_state *gallivm) * but there are more on SVN. * TODO: Add more passes. */ + LLVMAddScalarReplAggregatesPass(gallivm->passmgr); + LLVMAddLICMPass(gallivm->passmgr); LLVMAddCFGSimplificationPass(gallivm->passmgr); + LLVMAddReassociatePass(gallivm->passmgr); if (HAVE_LLVM >= 0x207 && sizeof(void*) == 4) { /* For LLVM >= 2.7 and 32-bit build, use this order of passes to -- 1.7.6.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev