[Beignet] [PATCH] Restore jump threading pass for reducing compiling time when run the large and complex kernel like Luxmark.

yan.wang at linux.intel.com yan.wang at linux.intel.com
Fri Dec 9 06:50:16 UTC 2016


From: Yan Wang <yan.wang at linux.intel.com>

Jump threading pass could optimize the connection between LLVM
basic blocks of the function and provide the chance to merge and
remove unnecessary basic blocks to reduce the compilation time and
ASM code size.

Signed-off-by: Yan Wang <yan.wang at linux.intel.com>
---
 backend/src/llvm/llvm_to_gen.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/backend/src/llvm/llvm_to_gen.cpp b/backend/src/llvm/llvm_to_gen.cpp
index 42f24b3..e108810 100644
--- a/backend/src/llvm/llvm_to_gen.cpp
+++ b/backend/src/llvm/llvm_to_gen.cpp
@@ -214,7 +214,7 @@ namespace gbe
     // Run instcombine after redundancy elimination to exploit opportunities
     // opened up by them.
     MPM.add(createInstructionCombiningPass());
-    //MPM.add(createJumpThreadingPass());         // Thread jumps
+    MPM.add(createJumpThreadingPass());         // Thread jumps
     MPM.add(createCorrelatedValuePropagationPass());
     MPM.add(createDeadStoreEliminationPass());  // Delete dead stores
     MPM.add(createAggressiveDCEPass());         // Delete dead instructions
-- 
2.7.4



More information about the Beignet mailing list