From f36346c11662901cc2f2b2239d9adb38bbdc54b6 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 20 Oct 2010 14:47:32 -0600 Subject: [PATCH] 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 4ad570950fc..f8fd17fe2c4 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 e09ec504ab7..4dbb12c999b 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 -- 2.30.2