#include "llvm/ADT/BitVector.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetFrameLowering.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetOptions.h"
usingnamespacellvm;
TargetFrameLowering::~TargetFrameLowering() = default;
bool TargetFrameLowering::enableCalleeSaveSkip(const MachineFunction &MF) const { … }
bool TargetFrameLowering::enableCFIFixup(MachineFunction &MF) const { … }
StackOffset
TargetFrameLowering::getFrameIndexReference(const MachineFunction &MF, int FI,
Register &FrameReg) const { … }
StackOffset
TargetFrameLowering::getFrameIndexReferenceFromSP(const MachineFunction &MF,
int FI) const { … }
bool TargetFrameLowering::needsFrameIndexResolution(
const MachineFunction &MF) const { … }
void TargetFrameLowering::getCalleeSaves(const MachineFunction &MF,
BitVector &CalleeSaves) const { … }
void TargetFrameLowering::determineCalleeSaves(MachineFunction &MF,
BitVector &SavedRegs,
RegScavenger *RS) const { … }
bool TargetFrameLowering::allocateScavengingFrameIndexesNearIncomingSP(
const MachineFunction &MF) const { … }
bool TargetFrameLowering::isSafeForNoCSROpt(const Function &F) { … }
int TargetFrameLowering::getInitialCFAOffset(const MachineFunction &MF) const { … }
Register
TargetFrameLowering::getInitialCFARegister(const MachineFunction &MF) const { … }
TargetFrameLowering::DwarfFrameBase
TargetFrameLowering::getDwarfFrameBase(const MachineFunction &MF) const { … }