llvm-project/llvm/lib/Target/Foot/FootInstrInfo.h
2025-10-21 18:25:06 -04:00

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