diff options
Diffstat (limited to 'llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp')
-rw-r--r-- | llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp b/llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp index b011e8fcd8b..a6b6c5ab9f0 100644 --- a/llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp +++ b/llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp @@ -10,13 +10,38 @@ #include "MipsISelDAGToDAG.h" #include "MipsModuleISelDAGToDAG.h" +#include "MipsTargetMachine.h" #include "llvm/Support/Casting.h" #include "llvm/Support/Debug.h" #include "llvm/Support/raw_ostream.h" +using namespace llvm; #define DEBUG_TYPE "mips-isel" -namespace llvm { +namespace { +//===----------------------------------------------------------------------===// +// MipsModuleDAGToDAGISel - MIPS specific code to select MIPS machine +// instructions for SelectionDAG operations. +//===----------------------------------------------------------------------===// +class MipsModuleDAGToDAGISel : public MachineFunctionPass { +public: + + static char ID; + + explicit MipsModuleDAGToDAGISel(MipsTargetMachine &TM_) + : MachineFunctionPass(ID), TM(TM_) {} + + // Pass Name + const char *getPassName() const override { + return "MIPS DAG->DAG Pattern Instruction Selection"; + } + + bool runOnMachineFunction(MachineFunction &MF) override; + +protected: + MipsTargetMachine &TM; +}; +} // namespace bool MipsModuleDAGToDAGISel::runOnMachineFunction(MachineFunction &MF) { DEBUG(errs() << "In MipsModuleDAGToDAGISel::runMachineFunction\n"); @@ -26,9 +51,6 @@ bool MipsModuleDAGToDAGISel::runOnMachineFunction(MachineFunction &MF) { char MipsModuleDAGToDAGISel::ID = 0; -} - - llvm::FunctionPass *llvm::createMipsModuleISelDag(MipsTargetMachine &TM) { return new MipsModuleDAGToDAGISel(TM); } |