59 lines
1.4 KiB
C++
59 lines
1.4 KiB
C++
#ifndef LLVM_LIB_TARGET_FOOT_FOOTSUBTARGET_H
|
|
#define LLVM_LIB_TARGET_FOOT_FOOTSUBTARGET_H
|
|
|
|
#include "FootFrameLowering.h"
|
|
#include "FootISelLowering.h"
|
|
#include "FootInstrInfo.h"
|
|
#include "FootRegisterInfo.h"
|
|
|
|
#include "llvm/ADT/StringRef.h"
|
|
#include "llvm/CodeGen/SelectionDAGTargetInfo.h"
|
|
#include "llvm/CodeGen/TargetSubtargetInfo.h"
|
|
|
|
#define GET_SUBTARGETINFO_HEADER
|
|
#include "FootGenSubtargetInfo.inc"
|
|
|
|
namespace llvm {
|
|
|
|
class TargetMachine;
|
|
class Triple;
|
|
|
|
class FootSubtarget : public FootGenSubtargetInfo {
|
|
virtual void anchor();
|
|
FootFrameLowering FrameLowering;
|
|
FootInstrInfo InstrInfo;
|
|
FootRegisterInfo RegisterInfo;
|
|
FootTargetLowering TLInfo;
|
|
SelectionDAGTargetInfo SDTgtInfo;
|
|
|
|
public:
|
|
FootSubtarget(const Triple &TT, StringRef CPU, StringRef FS,
|
|
const TargetMachine &TM);
|
|
|
|
const FootInstrInfo *getInstrInfo() const override {
|
|
return &InstrInfo;
|
|
}
|
|
|
|
const FootFrameLowering *getFrameLowering() const override {
|
|
return &FrameLowering;
|
|
}
|
|
|
|
const FootRegisterInfo *getRegisterInfo() const override {
|
|
return &RegisterInfo;
|
|
}
|
|
|
|
const FootTargetLowering *getTargetLowering() const override {
|
|
return &TLInfo;
|
|
}
|
|
|
|
const SelectionDAGTargetInfo *getSelectionDAGInfo() const override {
|
|
return &SDTgtInfo;
|
|
}
|
|
|
|
void ParseSubtargetFeatures(StringRef CPU, StringRef TuneCPU, StringRef FS);
|
|
};
|
|
|
|
} // namespace llvm
|
|
|
|
#endif // LLVM_LIB_TARGET_FOOT_FOOTSUBTARGET_H
|