From 3aa325c8a047f7176f3e00be597139eff8c9da32 Mon Sep 17 00:00:00 2001 From: Ruiling Song Date: Fri, 27 Jun 2014 14:17:57 +0800 Subject: [PATCH] GBE: disable GVN pass when optLevel is zero. 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 Reviewed-by: "Yang, Rong R" --- 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 -- 2.7.4