[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