42 lines
1.4 KiB
C++
42 lines
1.4 KiB
C++
#ifndef LLVM_LIB_TARGET_FOOT_FOOTINSTRINFO_H
|
|
#define LLVM_LIB_TARGET_FOOT_FOOTINSTRINFO_H
|
|
|
|
#include "llvm/CodeGen/TargetInstrInfo.h"
|
|
|
|
#define GET_INSTRINFO_HEADER
|
|
#include "FootGenInstrInfo.inc"
|
|
|
|
namespace llvm {
|
|
|
|
class FootInstrInfo : public FootGenInstrInfo {
|
|
public:
|
|
FootInstrInfo();
|
|
|
|
void storeRegToStackSlot(MachineBasicBlock &MBB,
|
|
MachineBasicBlock::iterator MI,
|
|
Register SrcReg, bool IsKill, int FrameIndex,
|
|
const TargetRegisterClass *RC,
|
|
const TargetRegisterInfo *TRI,
|
|
Register VReg,
|
|
MachineInstr::MIFlag Flags) const override;
|
|
|
|
void loadRegFromStackSlot(MachineBasicBlock &MBB,
|
|
MachineBasicBlock::iterator MI,
|
|
Register DestReg, int FrameIndex,
|
|
const TargetRegisterClass *RC,
|
|
const TargetRegisterInfo *TRI,
|
|
Register VReg,
|
|
MachineInstr::MIFlag Flags) const override;
|
|
|
|
void copyPhysReg(MachineBasicBlock &MBB,
|
|
MachineBasicBlock::iterator MI, const DebugLoc& DL,
|
|
Register DestReg, Register SrcReg, bool KillSrc,
|
|
bool RenamableDest,
|
|
bool RenamableSrc) const override;
|
|
};
|
|
|
|
} // namespace llvm
|
|
|
|
|
|
#endif // LLVM_LIB_TARGET_FOOT_FOOTINSTRINFO_H
|