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