LLVM: lib/Target/X86/X86FrameLowering.cpp File Reference (original) (raw)

Go to the source code of this file.

Macros
#define DEBUG_TYPE "x86-fl"
Functions
STATISTIC (NumFrameLoopProbe, "Number of loop stack probes used in prologue")
STATISTIC (NumFrameExtraProbe, "Number of extra stack probes generated in prologue")
STATISTIC (NumFunctionUsingPush2Pop2, "Number of functions using push2/pop2")
static unsigned getSUBriOpcode (bool IsLP64)
static unsigned getADDriOpcode (bool IsLP64)
static unsigned getSUBrrOpcode (bool IsLP64)
static unsigned getADDrrOpcode (bool IsLP64)
static unsigned getANDriOpcode (bool IsLP64, int64_t Imm)
static unsigned getLEArOpcode (bool IsLP64)
static unsigned getMOVriOpcode (bool Use64BitReg, int64_t Imm)
static unsigned getPUSHOpcode (const X86Subtarget &ST)
static unsigned getPOPOpcode (const X86Subtarget &ST)
static unsigned getPUSH2Opcode (const X86Subtarget &ST)
static unsigned getPOP2Opcode (const X86Subtarget &ST)
static bool isEAXLiveIn (MachineBasicBlock &MBB)
static bool flagsNeedToBePreservedBeforeTheTerminators (const MachineBasicBlock &MBB)
Check if the flags need to be preserved before the terminators.
static unsigned calculateSetFPREG (uint64_t SPAdjust)
static bool isOpcodeRep (unsigned Opcode)
Return true if an opcode is part of the REP group of instructions.
static bool isFuncletReturnInstr (MachineInstr &MI)
static bool isTailCallOpcode (unsigned Opc)
static bool HasNestArgument (const MachineFunction *MF)
static unsigned GetScratchRegister (bool Is64Bit, bool IsLP64, const MachineFunction &MF, bool Primary)
GetScratchRegister - Get a temp register for performing work in the segmented stack and the Erlang/HiPE stack prologue.
static unsigned getHiPELiteral (NamedMDNode *HiPELiteralsMD, const StringRef LiteralName)
Lookup an ERTS parameter in the !hipe.literals named metadata node.
static bool blockEndIsUnreachable (const MachineBasicBlock &MBB, MachineBasicBlock::const_iterator MBBI)
static int computeFPBPAlignmentGap (MachineFunction &MF, const TargetRegisterClass *RC, unsigned NumSpilledRegs)
static bool isFPBPAccess (const MachineInstr &MI, Register FP, Register BP, const TargetRegisterInfo *TRI, bool &AccessFP, bool &AccessBP)
static bool isInvoke (const MachineInstr &MI, bool InsideEHLabels)

DEBUG_TYPE

#define DEBUG_TYPE "x86-fl"

blockEndIsUnreachable()

calculateSetFPREG()

computeFPBPAlignmentGap()

flagsNeedToBePreservedBeforeTheTerminators()

getADDriOpcode()

getADDrrOpcode()

getANDriOpcode()

getHiPELiteral()

getLEArOpcode()

getMOVriOpcode()

getPOP2Opcode()

getPOPOpcode()

getPUSH2Opcode()

getPUSHOpcode()

GetScratchRegister()

getSUBriOpcode()

getSUBrrOpcode()

HasNestArgument()

isEAXLiveIn()

isFPBPAccess()

isFuncletReturnInstr()

isInvoke()

isOpcodeRep()

isTailCallOpcode()

STATISTIC() [1/3]

STATISTIC ( NumFrameExtraProbe ,
"Number of extra stack probes generated in prologue" )

STATISTIC() [2/3]

STATISTIC ( NumFrameLoopProbe ,
"Number of loop stack probes used in prologue" )

STATISTIC() [3/3]

STATISTIC ( NumFunctionUsingPush2Pop2 ,
"Number of functions using push2/pop2" )

kSplitStackAvailable

MaxSPChunk