#include "AArch64MachineFunctionInfo.h"
#include "AArch64InstrInfo.h"
#include "AArch64Subtarget.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/MC/MCAsmInfo.h"
usingnamespacellvm;
yaml::AArch64FunctionInfo::AArch64FunctionInfo(
const llvm::AArch64FunctionInfo &MFI)
: … { … }
void yaml::AArch64FunctionInfo::mappingImpl(yaml::IO &YamlIO) { … }
void AArch64FunctionInfo::initializeBaseYamlFields(
const yaml::AArch64FunctionInfo &YamlMFI) { … }
static std::pair<bool, bool> GetSignReturnAddress(const Function &F) { … }
static bool ShouldSignWithBKey(const Function &F, const AArch64Subtarget &STI) { … }
AArch64FunctionInfo::AArch64FunctionInfo(const Function &F,
const AArch64Subtarget *STI) { … }
MachineFunctionInfo *AArch64FunctionInfo::clone(
BumpPtrAllocator &Allocator, MachineFunction &DestMF,
const DenseMap<MachineBasicBlock *, MachineBasicBlock *> &Src2DstMBB)
const { … }
bool AArch64FunctionInfo::shouldSignReturnAddress(bool SpillsLR) const { … }
static bool isLRSpilled(const MachineFunction &MF) { … }
bool AArch64FunctionInfo::shouldSignReturnAddress(
const MachineFunction &MF) const { … }
bool AArch64FunctionInfo::needsShadowCallStackPrologueEpilogue(
MachineFunction &MF) const { … }
bool AArch64FunctionInfo::needsDwarfUnwindInfo(
const MachineFunction &MF) const { … }
bool AArch64FunctionInfo::needsAsyncDwarfUnwindInfo(
const MachineFunction &MF) const { … }