Mesa (master): llvmpipe/draw: always enable LLVMAddInstructionCombiningPass ()
Brian Paul
brianp at kemper.freedesktop.org
Wed Oct 20 20:57:05 UTC 2010
Module: Mesa
Branch: master
Commit: f36346c11662901cc2f2b2239d9adb38bbdc54b6
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f36346c11662901cc2f2b2239d9adb38bbdc54b6
Author: Brian Paul <brianp at vmware.com>
Date: Wed Oct 20 14:47:32 2010 -0600
llvmpipe/draw: always enable LLVMAddInstructionCombiningPass()
We were working around an LLVM 2.5 bug but we're using LLVM 2.6 or later now.
This basically reverts commit baddcbc5225e12052b3bc8c07a8b65243d76574d.
This fixes the piglit bug/tri-tex-crash.c failure.
---
src/gallium/auxiliary/draw/draw_llvm.c | 8 +-------
src/gallium/drivers/llvmpipe/lp_jit.c | 8 +-------
2 files changed, 2 insertions(+), 14 deletions(-)
diff --git a/src/gallium/auxiliary/draw/draw_llvm.c b/src/gallium/auxiliary/draw/draw_llvm.c
index 4ad5709..f8fd17f 100644
--- a/src/gallium/auxiliary/draw/draw_llvm.c
+++ b/src/gallium/auxiliary/draw/draw_llvm.c
@@ -274,13 +274,7 @@ draw_llvm_create(struct draw_context *draw)
LLVMAddConstantPropagationPass(llvm->pass);
}
- if(util_cpu_caps.has_sse4_1) {
- /* FIXME: There is a bug in this pass, whereby the combination of fptosi
- * and sitofp (necessary for trunc/floor/ceil/round implementation)
- * somehow becomes invalid code.
- */
- LLVMAddInstructionCombiningPass(llvm->pass);
- }
+ LLVMAddInstructionCombiningPass(llvm->pass);
LLVMAddGVNPass(llvm->pass);
} else {
/* We need at least this pass to prevent the backends to fail in
diff --git a/src/gallium/drivers/llvmpipe/lp_jit.c b/src/gallium/drivers/llvmpipe/lp_jit.c
index e09ec50..4dbb12c 100644
--- a/src/gallium/drivers/llvmpipe/lp_jit.c
+++ b/src/gallium/drivers/llvmpipe/lp_jit.c
@@ -187,13 +187,7 @@ lp_jit_screen_init(struct llvmpipe_screen *screen)
LLVMAddCFGSimplificationPass(screen->pass);
LLVMAddPromoteMemoryToRegisterPass(screen->pass);
LLVMAddConstantPropagationPass(screen->pass);
- if(util_cpu_caps.has_sse4_1) {
- /* FIXME: There is a bug in this pass, whereby the combination of fptosi
- * and sitofp (necessary for trunc/floor/ceil/round implementation)
- * somehow becomes invalid code.
- */
- LLVMAddInstructionCombiningPass(screen->pass);
- }
+ LLVMAddInstructionCombiningPass(screen->pass);
LLVMAddGVNPass(screen->pass);
} else {
/* We need at least this pass to prevent the backends to fail in
More information about the mesa-commit
mailing list