namespace llvm {
class IntrinsicLowering;
+class Module;
class SparcV8TargetMachine : public TargetMachine {
SparcV8InstrInfo InstrInfo;
public:
SparcV8TargetMachine(const Module &M, IntrinsicLowering *IL);
- virtual const SparcV8InstrInfo &getInstrInfo() const { return InstrInfo; }
- virtual const TargetFrameInfo &getFrameInfo() const { return FrameInfo; }
+ virtual const SparcV8InstrInfo *getInstrInfo() const { return &InstrInfo; }
+ virtual const TargetFrameInfo *getFrameInfo() const { return &FrameInfo; }
virtual const MRegisterInfo *getRegisterInfo() const {
return &InstrInfo.getRegisterInfo();
}
return &JITInfo;
}
- virtual const TargetSchedInfo &getSchedInfo() const { abort(); }
- virtual const TargetRegInfo &getRegInfo() const { abort(); }
- virtual const TargetCacheInfo &getCacheInfo() const { abort(); }
+ static unsigned getModuleMatchQuality(const Module &M);
+ static unsigned getJITMatchQuality();
/// addPassesToEmitMachineCode - Add passes to the specified pass manager to
/// get machine code emitted. This uses a MachineCodeEmitter object to handle