LLVM 22.0.0git
|
Helper class for creating CFI instructions and inserting them into MIR. More...
#include "llvm/CodeGen/CFIInstBuilder.h"
Public Member Functions | |
CFIInstBuilder (MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertPt, MachineInstr::MIFlag MIFlag, bool IsEH=true) | |
CFIInstBuilder (MachineBasicBlock *MBB, MachineInstr::MIFlag MIFlag, bool IsEH=true) | |
void | setInsertPoint (MachineBasicBlock::iterator IP) |
void | insertCFIInst (const MCCFIInstruction &CFIInst) const |
void | buildDefCFA (MCRegister Reg, int64_t Offset) const |
void | buildDefCFARegister (MCRegister Reg) const |
void | buildDefCFAOffset (int64_t Offset, MCSymbol *Label=nullptr) const |
void | buildAdjustCFAOffset (int64_t Adjustment) const |
void | buildOffset (MCRegister Reg, int64_t Offset) const |
void | buildNegateRAState () const |
void | buildNegateRAStateWithPC () const |
void | buildRegister (MCRegister Reg1, MCRegister Reg2) const |
void | buildWindowSave () const |
void | buildRestore (MCRegister Reg) const |
void | buildUndefined (MCRegister Reg) const |
void | buildSameValue (MCRegister Reg) const |
void | buildEscape (StringRef Bytes, StringRef Comment="") const |
Helper class for creating CFI instructions and inserting them into MIR.
Definition at line 20 of file CFIInstBuilder.h.
|
inline |
Definition at line 39 of file CFIInstBuilder.h.
References llvm::get(), getParent(), and setInsertPoint().
Referenced by CFIInstBuilder().
|
inline |
Definition at line 48 of file CFIInstBuilder.h.
References CFIInstBuilder().
|
inline |
Definition at line 74 of file CFIInstBuilder.h.
References llvm::MCCFIInstruction::createAdjustCfaOffset(), and insertCFIInst().
Referenced by llvm::MSP430FrameLowering::eliminateCallFramePseudoInstr().
|
inline |
Definition at line 60 of file CFIInstBuilder.h.
References llvm::MCCFIInstruction::cfiDefCfa(), insertCFIInst(), llvm::Offset, and Reg.
Referenced by llvm::RISCVFrameLowering::allocateStack(), llvm::AArch64EpilogueEmitter::emitEpilogue(), llvm::RISCVFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitPrologue(), llvm::RISCVFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 70 of file CFIInstBuilder.h.
References llvm::MCCFIInstruction::cfiDefCfaOffset(), insertCFIInst(), and llvm::Offset.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::RISCVFrameLowering::allocateStack(), llvm::RISCVFrameLowering::emitEpilogue(), llvm::Mips16FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::RISCVFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 65 of file CFIInstBuilder.h.
References llvm::MCCFIInstruction::createDefCfaRegister(), insertCFIInst(), and Reg.
Referenced by llvm::RISCVFrameLowering::allocateStack(), llvm::ARMFrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
Definition at line 116 of file CFIInstBuilder.h.
References llvm::MCCFIInstruction::createEscape(), and insertCFIInst().
Referenced by emitSCSPrologue().
|
inline |
Definition at line 83 of file CFIInstBuilder.h.
References llvm::MCCFIInstruction::createNegateRAState(), and insertCFIInst().
|
inline |
Definition at line 87 of file CFIInstBuilder.h.
References llvm::MCCFIInstruction::createNegateRAStateWithPC(), and insertCFIInst().
|
inline |
Definition at line 78 of file CFIInstBuilder.h.
References llvm::MCCFIInstruction::createOffset(), insertCFIInst(), llvm::Offset, and Reg.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::ARMFrameLowering::emitPrologue(), llvm::Mips16FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::RISCVFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().
|
inline |
Definition at line 91 of file CFIInstBuilder.h.
References llvm::MCCFIInstruction::createRegister(), and insertCFIInst().
Referenced by llvm::SparcFrameLowering::emitPrologue(), and llvm::ARMBaseInstrInfo::insertOutlinedCall().
|
inline |
Definition at line 101 of file CFIInstBuilder.h.
References llvm::MCCFIInstruction::createRestore(), insertCFIInst(), and Reg.
Referenced by llvm::RISCVFrameLowering::emitEpilogue(), emitSCSEpilogue(), and llvm::ARMBaseInstrInfo::insertOutlinedCall().
|
inline |
Definition at line 111 of file CFIInstBuilder.h.
References llvm::MCCFIInstruction::createSameValue(), insertCFIInst(), and Reg.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks().
|
inline |
Definition at line 106 of file CFIInstBuilder.h.
References llvm::MCCFIInstruction::createUndefined(), insertCFIInst(), and Reg.
|
inline |
Definition at line 97 of file CFIInstBuilder.h.
References llvm::MCCFIInstruction::createWindowSave(), and insertCFIInst().
Referenced by llvm::SparcFrameLowering::emitPrologue().
|
inline |
Definition at line 54 of file CFIInstBuilder.h.
References llvm::MachineInstrBuilder::addCFIIndex(), llvm::BuildMI(), and llvm::MachineInstrBuilder::setMIFlag().
Referenced by buildAdjustCFAOffset(), buildDefCFA(), buildDefCFAOffset(), buildDefCFARegister(), buildEscape(), buildNegateRAState(), buildNegateRAStateWithPC(), buildOffset(), buildRegister(), buildRestore(), buildSameValue(), buildUndefined(), buildWindowSave(), llvm::AArch64PrologueEmitter::emitPrologue(), and llvm::RISCVFrameLowering::emitPrologue().
|
inline |
Definition at line 52 of file CFIInstBuilder.h.
Referenced by CFIInstBuilder(), llvm::RISCVFrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::RISCVFrameLowering::emitPrologue(), and llvm::Thumb1FrameLowering::emitPrologue().