From d68c96e51ae984759415febe688e61881a0a02da Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Tue, 19 Aug 2008 21:26:29 +0000 Subject: [PATCH] Add a TargetLowering hook for creating a FastISel object. llvm-svn: 55009 --- llvm/include/llvm/Target/TargetLowering.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/llvm/include/llvm/Target/TargetLowering.h b/llvm/include/llvm/Target/TargetLowering.h index 3c2ef0004b9e..3702dbae9181 100644 --- a/llvm/include/llvm/Target/TargetLowering.h +++ b/llvm/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 //