[Beignet] [PATCH] GBE: disable GVN pass when optLevel is zero.

Ruiling Song ruiling.song at intel.com
Thu Jun 26 23:17:57 PDT 2014


GVN pass may generate some i256 data type, which our backend could not handle.
So, only enable it when optLevel > 0.

Signed-off-by: Ruiling Song <ruiling.song at intel.com>
---
 backend/src/llvm/llvm_to_gen.cpp |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/backend/src/llvm/llvm_to_gen.cpp b/backend/src/llvm/llvm_to_gen.cpp
index 50b3a19..153b11d 100644
--- a/backend/src/llvm/llvm_to_gen.cpp
+++ b/backend/src/llvm/llvm_to_gen.cpp
@@ -221,7 +221,8 @@ namespace gbe
     passes.add(createConstantPropagationPass());
     passes.add(createLowerSwitchPass());
     passes.add(createPromoteMemoryToRegisterPass());
-    passes.add(createGVNPass());                  // Remove redundancies
+    if(optLevel > 0)
+      passes.add(createGVNPass());                  // Remove redundancies
     passes.add(createPrintfParserPass());
     passes.add(createScalarizePass());        // Expand all vector ops
     passes.add(createDeadInstEliminationPass());  // Remove simplified instructions
-- 
1.7.10.4



More information about the Beignet mailing list