diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h index 3c2ef0004b9..3702dbae918 100644 --- a/include/llvm/Target/TargetLowering.h +++ b/include/llvm/Target/TargetLowering.h @@ -33,13 +33,16 @@ namespace llvm { class Function; + class FastISel; class MachineBasicBlock; + class MachineFunction; class MachineFrameInfo; class MachineInstr; class SDNode; class SDValue; class SelectionDAG; class TargetData; + class TargetInstrInfo; class TargetMachine; class TargetRegisterClass; class TargetSubtarget; @@ -1111,6 +1114,12 @@ public: /// DAG node. virtual const char *getTargetNodeName(unsigned Opcode) const; + /// createFastISel - This method returns a target specific FastISel object, + /// or null if the target does not support "fast" ISel. + virtual FastISel *createFastISel(MachineBasicBlock *, + MachineFunction *, + const TargetInstrInfo *) { return 0; } + //===--------------------------------------------------------------------===// // Inline Asm Support hooks //