Go to the source code of this file.
|
| STATISTIC (NumPESpillVSR, "Number of spills to vector in prologue") |
|
| STATISTIC (NumPEReloadVSR, "Number of reloads from vector in epilogue") |
|
| STATISTIC (NumPrologProbed, "Number of prologues probed") |
|
static unsigned | computeReturnSaveOffset (const PPCSubtarget &STI) |
|
static unsigned | computeTOCSaveOffset (const PPCSubtarget &STI) |
|
static unsigned | computeFramePointerSaveOffset (const PPCSubtarget &STI) |
|
static unsigned | computeLinkageSize (const PPCSubtarget &STI) |
|
static unsigned | computeBasePointerSaveOffset (const PPCSubtarget &STI) |
|
static unsigned | computeCRSaveOffset (const PPCSubtarget &STI) |
|
static bool | spillsCR (const MachineFunction &MF) |
|
static bool | hasSpills (const MachineFunction &MF) |
|
static bool | hasNonRISpills (const MachineFunction &MF) |
|
static bool | MustSaveLR (const MachineFunction &MF, unsigned LR) |
| MustSaveLR - Return true if this function requires that we save the LR register onto the stack in the prolog and restore it in the epilog of the function.
|
|
static void | restoreCRs (bool is31, bool CR2Spilled, bool CR3Spilled, bool CR4Spilled, MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, ArrayRef< CalleeSavedInfo > CSI, unsigned CSIIndex) |
|
static bool | isCalleeSavedCR (unsigned Reg) |
|
◆ CALLEE_SAVED_FPRS
#define CALLEE_SAVED_FPRS |
Value: {PPC::F31, -8}, \
{PPC::F30, -16}, \
{PPC::F29, -24}, \
{PPC::F28, -32}, \
{PPC::F27, -40}, \
{PPC::F26, -48}, \
{PPC::F25, -56}, \
{PPC::F24, -64}, \
{PPC::F23, -72}, \
{PPC::F22, -80}, \
{PPC::F21, -88}, \
{PPC::F20, -96}, \
{PPC::F19, -104}, \
{PPC::F18, -112}, \
{PPC::F17, -120}, \
{PPC::F16, -128}, \
{PPC::F15, -136}, \
{PPC::F14, -144}
◆ CALLEE_SAVED_GPRS32
#define CALLEE_SAVED_GPRS32 |
Value: {PPC::R31, -4}, \
{PPC::R30, -8}, \
{PPC::R29, -12}, \
{PPC::R28, -16}, \
{PPC::R27, -20}, \
{PPC::R26, -24}, \
{PPC::R25, -28}, \
{PPC::R24, -32}, \
{PPC::R23, -36}, \
{PPC::R22, -40}, \
{PPC::R21, -44}, \
{PPC::R20, -48}, \
{PPC::R19, -52}, \
{PPC::R18, -56}, \
{PPC::R17, -60}, \
{PPC::R16, -64}, \
{PPC::R15, -68}, \
{PPC::R14, -72}
◆ CALLEE_SAVED_GPRS64
#define CALLEE_SAVED_GPRS64 |
Value: {PPC::X31, -8}, \
{PPC::X30, -16}, \
{PPC::X29, -24}, \
{PPC::X28, -32}, \
{PPC::X27, -40}, \
{PPC::X26, -48}, \
{PPC::X25, -56}, \
{PPC::X24, -64}, \
{PPC::X23, -72}, \
{PPC::X22, -80}, \
{PPC::X21, -88}, \
{PPC::X20, -96}, \
{PPC::X19, -104}, \
{PPC::X18, -112}, \
{PPC::X17, -120}, \
{PPC::X16, -128}, \
{PPC::X15, -136}, \
{PPC::X14, -144}
◆ CALLEE_SAVED_VRS
Value: {PPC::V31, -16}, \
{PPC::V30, -32}, \
{PPC::V29, -48}, \
{PPC::V28, -64}, \
{PPC::V27, -80}, \
{PPC::V26, -96}, \
{PPC::V25, -112}, \
{PPC::V24, -128}, \
{PPC::V23, -144}, \
{PPC::V22, -160}, \
{PPC::V21, -176}, \
{PPC::V20, -192}
◆ DEBUG_TYPE
#define DEBUG_TYPE "framelowering" |
◆ computeBasePointerSaveOffset()
◆ computeCRSaveOffset()
◆ computeFramePointerSaveOffset()
◆ computeLinkageSize()
◆ computeReturnSaveOffset()
◆ computeTOCSaveOffset()
◆ hasNonRISpills()
◆ hasSpills()
◆ isCalleeSavedCR()
◆ MustSaveLR()
◆ restoreCRs()
Definition at line 2531 of file PPCFrameLowering.cpp.
References llvm::addFrameReference(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), DL, llvm::getKillRegState(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getSubtarget(), llvm::MachineBasicBlock::insert(), MBB, MI, and TII.
Referenced by llvm::PPCFrameLowering::restoreCalleeSavedRegisters().
◆ spillsCR()
◆ STATISTIC() [1/3]
STATISTIC |
( |
NumPEReloadVSR |
, |
|
|
"Number of reloads from vector in epilogue" |
|
|
) |
| |
◆ STATISTIC() [2/3]
STATISTIC |
( |
NumPESpillVSR |
, |
|
|
"Number of spills to vector in prologue" |
|
|
) |
| |
◆ STATISTIC() [3/3]
STATISTIC |
( |
NumPrologProbed |
, |
|
|
"Number of prologues probed" |
|
|
) |
| |
◆ EnablePEVectorSpills
cl::opt< bool > EnablePEVectorSpills("ppc-enable-pe-vector-spills", cl::desc("Enable spills in prologue to vector registers."), cl::init(false), cl::Hidden) |
( |
"ppc-enable-pe-vector-spills" |
, |
|
|
cl::desc("Enable spills in prologue to vector registers.") |
, |
|
|
cl::init(false) |
, |
|
|
cl::Hidden |
|
|
) |
| |
|
static |