16#ifndef LLVM_LIB_TARGET_AARCH64_AARCH64PROLOGUEEPILOGUE_H 
   17#define LLVM_LIB_TARGET_AARCH64_AARCH64PROLOGUEEPILOGUE_H 
   64      int CFAOffset = 0) 
const;
 
 
  115    verifyPrologueClobbers();
 
 
  123                          bool FollowupAllocs);
 
  131  void emitEmptyStackFramePrologue(int64_t NumBytes,
 
  139                           unsigned FixedObject) 
const;
 
  143                             int64_t RealignmentPadding) 
const;
 
  148  void determineLocalsStackSize(
uint64_t StackSize, 
uint64_t PrologueSaveSize);
 
  156  void collectBlockLiveins();
 
  157  void verifyPrologueClobbers() 
const;
 
  162  bool EmitAsyncCFI = 
false;
 
  163  bool CombineSPBump = 
false; 
 
 
  181  bool shouldCombineCSRLocalStackBump(
uint64_t StackBumpBytes) 
const;
 
  193    emitCalleeSavedRestores(
MBBI, 
false);
 
  197    emitCalleeSavedRestores(
MBBI, 
true);
 
  200  void finalizeEpilogue() 
const;
 
 
MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL
 
MachineBasicBlock MachineBasicBlock::iterator MBBI
 
This file implements the LivePhysRegs utility for tracking liveness of physical registers.
 
void emitEpilogue()
Emit the epilogue.
 
~AArch64EpilogueEmitter()
 
AArch64EpilogueEmitter(MachineFunction &MF, MachineBasicBlock &MBB, const AArch64FrameLowering &AFL)
 
AArch64FunctionInfo - This class is derived from MachineFunctionInfo and contains private AArch64-spe...
 
void emitPrologue()
Emit the prologue.
 
AArch64PrologueEmitter(MachineFunction &MF, MachineBasicBlock &MBB, const AArch64FrameLowering &AFL)
 
~AArch64PrologueEmitter()
 
const MachineFrameInfo & MFI
 
AArch64FunctionInfo * AFI
 
MachineBasicBlock::iterator convertCalleeSaveRestoreToSPPrePostIncDec(MachineBasicBlock::iterator MBBI, const DebugLoc &DL, int CSStackSizeInc, bool EmitCFI, MachineInstr::MIFlag FrameFlag=MachineInstr::FrameSetup, int CFAOffset=0) const
 
SVEFrameSizes getSVEStackFrameSizes() const
 
bool isVGInstruction(MachineBasicBlock::iterator MBBI, const TargetLowering &TLI) const
 
AArch64PrologueEpilogueCommon(MachineFunction &MF, MachineBasicBlock &MBB, const AArch64FrameLowering &AFL)
 
const AArch64RegisterInfo & RegInfo
 
const AArch64FrameLowering & AFL
 
@ CalleeSavesAboveFrameRecord
 
void fixupCalleeSaveRestoreStackOffset(MachineInstr &MI, uint64_t LocalStackSize) const
 
bool shouldCombineCSRLocalStackBump(uint64_t StackBumpBytes) const
 
const AArch64Subtarget & Subtarget
 
SVEStackAllocations getSVEStackAllocations(SVEFrameSizes const &)
 
bool requiresGetVGCall() const
 
const TargetInstrInfo * TII
 
A set of physical registers with utility functions to track liveness when walking backward/forward th...
 
MachineInstrBundleIterator< MachineInstr > iterator
 
The MachineFrameInfo class represents an abstract stack frame until prolog/epilog code is inserted.
 
Representation of each machine instruction.
 
StackOffset holds a fixed and a scalable offset in bytes.
 
TargetInstrInfo - Interface to description of machine instruction set.
 
This class defines information used to lower LLVM code to legal SelectionDAG operators that the targe...
 
This is an optimization pass for GlobalISel generic memory operations.
 
struct llvm::SVEFrameSizes::@005032024062370221152241042070022264014337265150 PPR
 
struct llvm::SVEFrameSizes::@005032024062370221152241042070022264014337265150 ZPR
 
StackOffset CalleeSavesSize
 
StackOffset totalSize() const