GBE: disable GVN pass when optLevel is zero.
authorRuiling Song <ruiling.song@intel.com>
Fri, 27 Jun 2014 06:17:57 +0000 (14:17 +0800)
committerZhigang Gong <zhigang.gong@intel.com>
Mon, 30 Jun 2014 03:50:54 +0000 (11:50 +0800)
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@intel.com>
Reviewed-by: "Yang, Rong R" <rong.r.yang@intel.com>
backend/src/llvm/llvm_to_gen.cpp

index 50b3a19..153b11d 100644 (file)
@@ -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