LLVM 22.0.0git
|
A helper class for emitting the prologue. More...
#include "Target/AArch64/AArch64PrologueEpilogue.h"
Public Member Functions | |
AArch64PrologueEmitter (MachineFunction &MF, MachineBasicBlock &MBB, const AArch64FrameLowering &AFL) | |
void | emitPrologue () |
Emit the prologue. | |
~AArch64PrologueEmitter () | |
Public Member Functions inherited from llvm::AArch64PrologueEpilogueCommon | |
AArch64PrologueEpilogueCommon (MachineFunction &MF, MachineBasicBlock &MBB, const AArch64FrameLowering &AFL) |
A helper class for emitting the prologue.
Substantial new functionality should be factored into a new method. Where possible "emit*" methods should be const, and any flags that change how the prologue is emitted should be set in the constructor.
Definition at line 83 of file AArch64PrologueEpilogue.h.
llvm::AArch64PrologueEmitter::AArch64PrologueEmitter | ( | MachineFunction & | MF, |
MachineBasicBlock & | MBB, | ||
const AArch64FrameLowering & | AFL ) |
Definition at line 325 of file AArch64PrologueEpilogue.cpp.
References llvm::AArch64PrologueEpilogueCommon::AArch64PrologueEpilogueCommon(), llvm::AArch64PrologueEpilogueCommon::AFI, llvm::AArch64PrologueEpilogueCommon::AFL, llvm::AArch64PrologueEpilogueCommon::EmitCFI, getFunction(), llvm::AArch64PrologueEpilogueCommon::HomPrologEpilog, llvm::AArch64PrologueEpilogueCommon::IsFunclet, llvm::AArch64PrologueEpilogueCommon::MBB, and llvm::AArch64PrologueEpilogueCommon::MF.
|
inline |
Definition at line 91 of file AArch64PrologueEpilogue.h.
References llvm::AArch64PrologueEpilogueCommon::HasWinCFI, and llvm::AArch64PrologueEpilogueCommon::MF.
void llvm::AArch64PrologueEmitter::emitPrologue | ( | ) |
Emit the prologue.
Definition at line 531 of file AArch64PrologueEpilogue.cpp.
References llvm::MachineInstrBuilder::addReg(), llvm::AArch64PrologueEpilogueCommon::AFI, llvm::AArch64PrologueEpilogueCommon::AFL, assert(), llvm::BuildMI(), llvm::classifyEHPersonality(), llvm::AArch64PrologueEpilogueCommon::convertCalleeSaveRestoreToSPPrePostIncDec(), llvm::createDefCFA(), llvm::dbgs(), DL, llvm::AArch64PrologueEpilogueCommon::EmitCFI, llvm::emitFrameOffset(), llvm::AArch64PrologueEpilogueCommon::fixupCalleeSaveRestoreStackOffset(), llvm::MachineInstr::FrameSetup, llvm::StackOffset::getFixed(), llvm::StackOffset::getFixed(), llvm::StackOffset::getScalable(), llvm::CallingConv::GHC, llvm::AArch64PrologueEpilogueCommon::HasFP, llvm::AArch64PrologueEpilogueCommon::HasWinCFI, llvm::AArch64PrologueEpilogueCommon::HomPrologEpilog, llvm::CFIInstBuilder::insertCFIInst(), llvm::isAsynchronousEHPersonality(), llvm::AArch64PrologueEpilogueCommon::IsFunclet, llvm::isSVECalleeSave(), llvm::AArch64PrologueEpilogueCommon::isVGInstruction(), LLVM_DEBUG, llvm::AArch64PrologueEpilogueCommon::MBB, MBBI, llvm::AArch64PrologueEpilogueCommon::MF, llvm::AArch64PrologueEpilogueCommon::MFI, llvm::AArch64PrologueEpilogueCommon::NeedsWinCFI, llvm::AArch64PrologueEpilogueCommon::RegInfo, llvm::reportFatalUsageError(), llvm::MachineInstrBuilder::setMIFlag(), llvm::AArch64PrologueEpilogueCommon::Subtarget, and llvm::AArch64PrologueEpilogueCommon::TII.
Referenced by llvm::AArch64FrameLowering::emitPrologue().