MipsModuleISelDAGToDAG.cpp revision 37ed9c199ca639565f6ce88105f9e39e898d82d0
1a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler//===----------------------------------------------------------------------===//
2a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler// Instruction Selector Subtarget Control
3a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler//===----------------------------------------------------------------------===//
4a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler
5a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler//===----------------------------------------------------------------------===//
6a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler// This file defines a pass used to change the subtarget for the
7a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler// Mips Instruction selector.
8a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler//
9a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler//===----------------------------------------------------------------------===//
10a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler
11a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler#include "MipsISelDAGToDAG.h"
12a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler#include "MipsModuleISelDAGToDAG.h"
13a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler#include "llvm/Support/Casting.h"
14a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler#include "llvm/Support/Debug.h"
15a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler#include "llvm/Support/raw_ostream.h"
16a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler
17dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines#define DEBUG_TYPE "mips-isel"
18dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines
19a430cb613b6e93c05f128b04323c57acfd08686dReed Kotlernamespace llvm {
20a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler
21a430cb613b6e93c05f128b04323c57acfd08686dReed Kotlerbool MipsModuleDAGToDAGISel::runOnMachineFunction(MachineFunction &MF) {
22a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler  DEBUG(errs() << "In MipsModuleDAGToDAGISel::runMachineFunction\n");
2337ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines  TM.resetSubtarget(&MF);
24a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler  return false;
25a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler}
26a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler
27a430cb613b6e93c05f128b04323c57acfd08686dReed Kotlerchar MipsModuleDAGToDAGISel::ID = 0;
28a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler
29a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler}
30a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler
31a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler
32a430cb613b6e93c05f128b04323c57acfd08686dReed Kotlerllvm::FunctionPass *llvm::createMipsModuleISelDag(MipsTargetMachine &TM) {
33a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler  return new MipsModuleDAGToDAGISel(TM);
34a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler}
35a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler
36a430cb613b6e93c05f128b04323c57acfd08686dReed Kotler
37