LLVM API Documentation
#include "AArch64FrameLowering.h"
#include "AArch64InstrInfo.h"
#include "AArch64MachineFunctionInfo.h"
#include "AArch64Subtarget.h"
#include "AArch64TargetMachine.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/RegisterScavenging.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Function.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Defines | |
#define | DEBUG_TYPE "frame-info" |
Functions | |
STATISTIC (NumRedZoneFunctions,"Number of functions using red zone") | |
static unsigned | estimateStackSize (MachineFunction &MF) |
static bool | isCalleeSavedRegister (unsigned Reg, const MCPhysReg *CSRegs) |
static bool | isCSRestore (MachineInstr *MI, const MCPhysReg *CSRegs) |
static unsigned | getPrologueDeath (MachineFunction &MF, unsigned Reg) |
Variables | |
static cl::opt< bool > | EnableRedZone ("aarch64-redzone", cl::desc("enable use of redzone on AArch64"), cl::init(false), cl::Hidden) |
#define DEBUG_TYPE "frame-info" |
Definition at line 34 of file AArch64FrameLowering.cpp.
static unsigned estimateStackSize | ( | MachineFunction & | MF | ) | [static] |
Definition at line 42 of file AArch64FrameLowering.cpp.
References Align(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFrameInfo::getObjectAlignment(), llvm::MachineFrameInfo::getObjectIndexBegin(), llvm::MachineFrameInfo::getObjectIndexEnd(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineFrameInfo::getObjectSize(), and llvm::MachineFrameInfo::isDeadObjectIndex().
Referenced by llvm::AArch64FrameLowering::processFunctionBeforeCalleeSavedScan().
static unsigned getPrologueDeath | ( | MachineFunction & | MF, |
unsigned | Reg | ||
) | [static] |
Definition at line 605 of file AArch64FrameLowering.cpp.
References llvm::MachineFunction::getFrameInfo(), llvm::getKillRegState(), llvm::MachineFunction::getRegInfo(), llvm::MachineRegisterInfo::isLiveIn(), and llvm::MachineFrameInfo::isReturnAddressTaken().
Referenced by llvm::AArch64FrameLowering::spillCalleeSavedRegisters().
static bool isCalleeSavedRegister | ( | unsigned | Reg, |
const MCPhysReg * | CSRegs | ||
) | [static] |
Definition at line 406 of file AArch64FrameLowering.cpp.
static bool isCSRestore | ( | MachineInstr * | MI, |
const MCPhysReg * | CSRegs | ||
) | [static] |
Definition at line 413 of file AArch64FrameLowering.cpp.
References llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and llvm::isCalleeSavedRegister().
Referenced by llvm::AArch64FrameLowering::emitEpilogue().
cl::opt<bool> EnableRedZone("aarch64-redzone", cl::desc("enable use of redzone on AArch64"), cl::init(false), cl::Hidden) [static] |
Referenced by llvm::AArch64FrameLowering::canUseRedZone().