From: Chris Lattner Date: Wed, 17 Aug 2005 19:33:30 +0000 (+0000) Subject: add a beta option for turning on dag->dag isel X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8482dd894d7d64134f999d8e62bc9adf5cb239a9;p=oota-llvm.git add a beta option for turning on dag->dag isel git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22837 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp index e1f29ba5191..18c7fdc9048 100644 --- a/lib/Target/PowerPC/PPCTargetMachine.cpp +++ b/lib/Target/PowerPC/PPCTargetMachine.cpp @@ -30,8 +30,11 @@ using namespace llvm; namespace { - const std::string PPC32ID = "PowerPC/32bit"; + const char *PPC32ID = "PowerPC/32bit"; + static cl::opt EnablePPCDAGDAG("enable-ppc-dag-isel", cl::Hidden, + cl::desc("Enable DAG-to-DAG isel for PPC (beta)")); + // Register the targets RegisterTarget X("ppc32", " PowerPC 32-bit"); @@ -81,8 +84,11 @@ bool PowerPCTargetMachine::addPassesToEmitFile(PassManager &PM, // Make sure that no unreachable blocks are instruction selected. PM.add(createUnreachableBlockEliminationPass()); - // Default to pattern ISel - if (PatternISelTriState == 0) { + // Install an instruction selector. + if (EnablePPCDAGDAG) { + PM.add(createPPC32ISelDag(*this)); + + } else if (PatternISelTriState == 0) { PM.add(createLowerConstantExpressionsPass()); PM.add(createPPC32ISelSimple(*this)); } else