diff options
author | Chris Lattner <sabre@nondot.org> | 2005-12-17 07:47:01 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-12-17 07:47:01 +0000 |
commit | 6c18b10ad4873ad7e1b1c1d589bcf844c46f4120 (patch) | |
tree | 2ba9a7f3e70532375a48e2d8d3defa34cb6f8f8b /lib/Target/Sparc/SparcTargetMachine.cpp | |
parent | 433dbdaa636d1c6e06acb2de22bcc83721cacac8 (diff) |
Add the framework for a dag-dag isel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24769 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Sparc/SparcTargetMachine.cpp')
-rw-r--r-- | lib/Target/Sparc/SparcTargetMachine.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/Target/Sparc/SparcTargetMachine.cpp b/lib/Target/Sparc/SparcTargetMachine.cpp index ce9768ea00..65e97aa678 100644 --- a/lib/Target/Sparc/SparcTargetMachine.cpp +++ b/lib/Target/Sparc/SparcTargetMachine.cpp @@ -20,12 +20,17 @@ #include "llvm/Target/TargetOptions.h" #include "llvm/Target/TargetMachineRegistry.h" #include "llvm/Transforms/Scalar.h" +#include "llvm/Support/CommandLine.h" #include <iostream> using namespace llvm; namespace { // Register the target. RegisterTarget<SparcV8TargetMachine> X("sparcv8"," SPARC V8 (experimental)"); + + cl::opt<bool> DisableV8DAGDAG("disable-v8-dag-isel", cl::Hidden, + cl::desc("Disable DAG-to-DAG isel for V8"), + cl::init(1)); } /// SparcV8TargetMachine ctor - Create an ILP32 architecture model @@ -87,7 +92,10 @@ bool SparcV8TargetMachine::addPassesToEmitFile(PassManager &PM, if (PrintMachineCode) PM.add(new PrintFunctionPass()); - PM.add(createSparcV8SimpleInstructionSelector(*this)); + if (DisableV8DAGDAG) + PM.add(createSparcV8SimpleInstructionSelector(*this)); + else + PM.add(createSparcV8ISelDag(*this)); // Print machine instructions as they were initially generated. if (PrintMachineCode) |