LLVM 20.0.0git
|
#include "llvm/CodeGen/MachineFunction.h"
Classes | |
struct | ArgRegPair |
Structure used to represent pair of argument number after call lowering and register used to transfer that argument. More... | |
struct | CalledGlobalInfo |
struct | CallSiteInfo |
class | DebugPHIRegallocPos |
Location of a PHI instruction that is also a debug-info variable value, for the duration of register allocation. More... | |
class | DebugSubstitution |
Replacement definition for a debug instruction reference. More... | |
class | Delegate |
class | VariableDbgInfo |
Description of the location of a variable whose Address is valid and unchanging during function execution. More... | |
Public Types | |
using | VariableDbgInfoMapTy = SmallVector< VariableDbgInfo, 4 > |
using | DebugInstrOperandPair = std::pair< unsigned, unsigned > |
Pair of instruction number and operand number. | |
using | iterator = BasicBlockListType::iterator |
using | const_iterator = BasicBlockListType::const_iterator |
using | const_reverse_iterator = BasicBlockListType::const_reverse_iterator |
using | reverse_iterator = BasicBlockListType::reverse_iterator |
using | OperandCapacity = ArrayRecycler< MachineOperand >::Capacity |
Public Member Functions | |
void | handleChangeDesc (MachineInstr &MI, const MCInstrDesc &TID) |
MachineFunction (Function &F, const TargetMachine &Target, const TargetSubtargetInfo &STI, MCContext &Ctx, unsigned FunctionNum) | |
MachineFunction (const MachineFunction &)=delete | |
MachineFunction & | operator= (const MachineFunction &)=delete |
~MachineFunction () | |
void | reset () |
Reset the instance as if it was just created. | |
void | resetDelegate (Delegate *delegate) |
Reset the currently registered delegate - otherwise assert. | |
void | setDelegate (Delegate *delegate) |
Set the delegate. | |
void | setObserver (GISelChangeObserver *O) |
GISelChangeObserver * | getObserver () const |
MCContext & | getContext () const |
MCSection * | getSection () const |
Returns the Section this function belongs to. | |
void | setSection (MCSection *S) |
Indicates the Section this function belongs to. | |
PseudoSourceValueManager & | getPSVManager () const |
const DataLayout & | getDataLayout () const |
Return the DataLayout attached to the Module associated to this MF. | |
Function & | getFunction () |
Return the LLVM function that this machine code represents. | |
const Function & | getFunction () const |
Return the LLVM function that this machine code represents. | |
StringRef | getName () const |
getName - Return the name of the corresponding LLVM function. | |
unsigned | getFunctionNumber () const |
getFunctionNumber - Return a unique ID for the current function. | |
bool | hasBBSections () const |
Returns true if this function has basic block sections enabled. | |
void | setBBSectionsType (BasicBlockSection V) |
void | assignBeginEndSections () |
Assign IsBeginSection IsEndSection fields for basic blocks in this function. | |
const TargetMachine & | getTarget () const |
getTarget - Return the target machine this machine code is compiled with | |
const TargetSubtargetInfo & | getSubtarget () const |
getSubtarget - Return the subtarget for which this machine code is being compiled. | |
template<typename STC > | |
const STC & | getSubtarget () const |
getSubtarget - This method returns a pointer to the specified type of TargetSubtargetInfo. | |
MachineRegisterInfo & | getRegInfo () |
getRegInfo - Return information about the registers currently in use. | |
const MachineRegisterInfo & | getRegInfo () const |
MachineFrameInfo & | getFrameInfo () |
getFrameInfo - Return the frame info object for the current function. | |
const MachineFrameInfo & | getFrameInfo () const |
const MachineJumpTableInfo * | getJumpTableInfo () const |
getJumpTableInfo - Return the jump table info object for the current function. | |
MachineJumpTableInfo * | getJumpTableInfo () |
MachineJumpTableInfo * | getOrCreateJumpTableInfo (unsigned JTEntryKind) |
getOrCreateJumpTableInfo - Get the JumpTableInfo for this function, if it does already exist, allocate one. | |
MachineConstantPool * | getConstantPool () |
getConstantPool - Return the constant pool object for the current function. | |
const MachineConstantPool * | getConstantPool () const |
const WasmEHFuncInfo * | getWasmEHFuncInfo () const |
getWasmEHFuncInfo - Return information about how the current function uses Wasm exception handling. | |
WasmEHFuncInfo * | getWasmEHFuncInfo () |
const WinEHFuncInfo * | getWinEHFuncInfo () const |
getWinEHFuncInfo - Return information about how the current function uses Windows exception handling. | |
WinEHFuncInfo * | getWinEHFuncInfo () |
Align | getAlignment () const |
getAlignment - Return the alignment of the function. | |
void | setAlignment (Align A) |
setAlignment - Set the alignment of the function. | |
void | ensureAlignment (Align A) |
ensureAlignment - Make sure the function is at least A bytes aligned. | |
bool | exposesReturnsTwice () const |
exposesReturnsTwice - Returns true if the function calls setjmp or any other similar functions with attribute "returns twice" without having the attribute itself. | |
void | setExposesReturnsTwice (bool B) |
setCallsSetJmp - Set a flag that indicates if there's a call to a "returns twice" function. | |
bool | hasInlineAsm () const |
Returns true if the function contains any inline assembly. | |
void | setHasInlineAsm (bool B) |
Set a flag that indicates that the function contains inline assembly. | |
bool | hasWinCFI () const |
void | setHasWinCFI (bool v) |
bool | needsFrameMoves () const |
True if this function needs frame moves for debug or exceptions. | |
const MachineFunctionProperties & | getProperties () const |
Get the function properties. | |
MachineFunctionProperties & | getProperties () |
template<typename Ty > | |
Ty * | getInfo () |
getInfo - Keep track of various per-function pieces of information for backends that would like to do so. | |
template<typename Ty > | |
const Ty * | getInfo () const |
template<typename Ty > | |
Ty * | cloneInfo (const Ty &Old) |
void | initTargetMachineFunctionInfo (const TargetSubtargetInfo &STI) |
Initialize the target specific MachineFunctionInfo. | |
MachineFunctionInfo * | cloneInfoFrom (const MachineFunction &OrigMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) |
DenormalMode | getDenormalMode (const fltSemantics &FPType) const |
Returns the denormal handling type for the default rounding mode of the function. | |
MachineBasicBlock * | getBlockNumbered (unsigned N) const |
getBlockNumbered - MachineBasicBlocks are automatically numbered when they are inserted into the machine function. | |
bool | shouldSplitStack () const |
Should we be emitting segmented stack stuff for the function. | |
unsigned | getNumBlockIDs () const |
getNumBlockIDs - Return the number of MBB ID's allocated. | |
unsigned | getBlockNumberEpoch () const |
Return the numbering "epoch" of block numbers, incremented after each numbering. | |
void | RenumberBlocks (MachineBasicBlock *MBBFrom=nullptr) |
RenumberBlocks - This discards all of the MachineBasicBlock numbers and recomputes them. | |
int64_t | estimateFunctionSizeInBytes () |
Return an estimate of the function's code size, taking into account block and function alignment. | |
void | print (raw_ostream &OS, const SlotIndexes *=nullptr) const |
print - Print out the MachineFunction in a format suitable for debugging to the specified stream. | |
void | viewCFG () const |
viewCFG - This function is meant for use from the debugger. | |
void | viewCFGOnly () const |
viewCFGOnly - This function is meant for use from the debugger. | |
void | dump () const |
dump - Print the current MachineFunction to cerr, useful for debugger use. | |
bool | verify (Pass *p=nullptr, const char *Banner=nullptr, raw_ostream *OS=nullptr, bool AbortOnError=true) const |
Run the current MachineFunction through the machine code verifier, useful for debugger use. | |
bool | verify (LiveIntervals *LiveInts, SlotIndexes *Indexes, const char *Banner=nullptr, raw_ostream *OS=nullptr, bool AbortOnError=true) const |
Run the current MachineFunction through the machine code verifier, useful for debugger use. | |
Register | addLiveIn (MCRegister PReg, const TargetRegisterClass *RC) |
addLiveIn - Add the specified physical register as a live-in value and create a corresponding virtual register for it. | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
unsigned | size () const |
bool | empty () const |
const MachineBasicBlock & | front () const |
MachineBasicBlock & | front () |
const MachineBasicBlock & | back () const |
MachineBasicBlock & | back () |
void | push_back (MachineBasicBlock *MBB) |
void | push_front (MachineBasicBlock *MBB) |
void | insert (iterator MBBI, MachineBasicBlock *MBB) |
void | splice (iterator InsertPt, iterator MBBI) |
void | splice (iterator InsertPt, MachineBasicBlock *MBB) |
void | splice (iterator InsertPt, iterator MBBI, iterator MBBE) |
void | remove (iterator MBBI) |
void | remove (MachineBasicBlock *MBBI) |
void | erase (iterator MBBI) |
void | erase (MachineBasicBlock *MBBI) |
template<typename Comp > | |
void | sort (Comp comp) |
unsigned | getInstructionCount () const |
Return the number of MachineInstrs in this MachineFunction . | |
unsigned | addToMBBNumbering (MachineBasicBlock *MBB) |
Adds the MBB to the internal numbering. | |
void | removeFromMBBNumbering (unsigned N) |
removeFromMBBNumbering - Remove the specific machine basic block from our tracker, this is only really to be used by the MachineBasicBlock implementation. | |
MachineInstr * | CreateMachineInstr (const MCInstrDesc &MCID, DebugLoc DL, bool NoImplicit=false) |
CreateMachineInstr - Allocate a new MachineInstr. | |
MachineInstr * | CloneMachineInstr (const MachineInstr *Orig) |
Create a new MachineInstr which is a copy of Orig , identical in all ways except the instruction has no parent, prev, or next. | |
MachineInstr & | cloneMachineInstrBundle (MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore, const MachineInstr &Orig) |
Clones instruction or the whole instruction bundle Orig and insert into MBB before InsertBefore . | |
void | deleteMachineInstr (MachineInstr *MI) |
DeleteMachineInstr - Delete the given MachineInstr. | |
MachineBasicBlock * | CreateMachineBasicBlock (const BasicBlock *BB=nullptr, std::optional< UniqueBBID > BBID=std::nullopt) |
CreateMachineBasicBlock - Allocate a new MachineBasicBlock. | |
void | deleteMachineBasicBlock (MachineBasicBlock *MBB) |
DeleteMachineBasicBlock - Delete the given MachineBasicBlock. | |
MachineMemOperand * | getMachineMemOperand (MachinePointerInfo PtrInfo, MachineMemOperand::Flags f, LLT MemTy, Align base_alignment, const AAMDNodes &AAInfo=AAMDNodes(), const MDNode *Ranges=nullptr, SyncScope::ID SSID=SyncScope::System, AtomicOrdering Ordering=AtomicOrdering::NotAtomic, AtomicOrdering FailureOrdering=AtomicOrdering::NotAtomic) |
getMachineMemOperand - Allocate a new MachineMemOperand. | |
MachineMemOperand * | getMachineMemOperand (MachinePointerInfo PtrInfo, MachineMemOperand::Flags F, LocationSize Size, Align BaseAlignment, const AAMDNodes &AAInfo=AAMDNodes(), const MDNode *Ranges=nullptr, SyncScope::ID SSID=SyncScope::System, AtomicOrdering Ordering=AtomicOrdering::NotAtomic, AtomicOrdering FailureOrdering=AtomicOrdering::NotAtomic) |
MachineMemOperand * | getMachineMemOperand (MachinePointerInfo PtrInfo, MachineMemOperand::Flags F, uint64_t Size, Align BaseAlignment, const AAMDNodes &AAInfo=AAMDNodes(), const MDNode *Ranges=nullptr, SyncScope::ID SSID=SyncScope::System, AtomicOrdering Ordering=AtomicOrdering::NotAtomic, AtomicOrdering FailureOrdering=AtomicOrdering::NotAtomic) |
MachineMemOperand * | getMachineMemOperand (const MachineMemOperand *MMO, int64_t Offset, LLT Ty) |
getMachineMemOperand - Allocate a new MachineMemOperand by copying an existing one, adjusting by an offset and using the given size. | |
MachineMemOperand * | getMachineMemOperand (const MachineMemOperand *MMO, int64_t Offset, LocationSize Size) |
MachineMemOperand * | getMachineMemOperand (const MachineMemOperand *MMO, int64_t Offset, uint64_t Size) |
MachineMemOperand * | getMachineMemOperand (const MachineMemOperand *MMO, const MachinePointerInfo &PtrInfo, LocationSize Size) |
getMachineMemOperand - Allocate a new MachineMemOperand by copying an existing one, replacing only the MachinePointerInfo and size. | |
MachineMemOperand * | getMachineMemOperand (const MachineMemOperand *MMO, const MachinePointerInfo &PtrInfo, LLT Ty) |
MachineMemOperand * | getMachineMemOperand (const MachineMemOperand *MMO, const MachinePointerInfo &PtrInfo, uint64_t Size) |
MachineMemOperand * | getMachineMemOperand (const MachineMemOperand *MMO, const AAMDNodes &AAInfo) |
Allocate a new MachineMemOperand by copying an existing one, replacing only AliasAnalysis information. | |
MachineMemOperand * | getMachineMemOperand (const MachineMemOperand *MMO, MachineMemOperand::Flags Flags) |
Allocate a new MachineMemOperand by copying an existing one, replacing the flags. | |
MachineOperand * | allocateOperandArray (OperandCapacity Cap) |
Allocate an array of MachineOperands. | |
void | deallocateOperandArray (OperandCapacity Cap, MachineOperand *Array) |
Dellocate an array of MachineOperands and recycle the memory. | |
uint32_t * | allocateRegMask () |
Allocate and initialize a register mask with NumRegister bits. | |
ArrayRef< int > | allocateShuffleMask (ArrayRef< int > Mask) |
MachineInstr::ExtraInfo * | createMIExtraInfo (ArrayRef< MachineMemOperand * > MMOs, MCSymbol *PreInstrSymbol=nullptr, MCSymbol *PostInstrSymbol=nullptr, MDNode *HeapAllocMarker=nullptr, MDNode *PCSections=nullptr, uint32_t CFIType=0, MDNode *MMRAs=nullptr) |
Allocate and construct an extra info structure for a MachineInstr . | |
const char * | createExternalSymbolName (StringRef Name) |
Allocate a string and populate it with the given external symbol name. | |
MCSymbol * | getJTISymbol (unsigned JTI, MCContext &Ctx, bool isLinkerPrivate=false) const |
getJTISymbol - Return the MCSymbol for the specified non-empty jump table. | |
MCSymbol * | getPICBaseSymbol () const |
getPICBaseSymbol - Return a function-local symbol to represent the PIC base. | |
const std::vector< MCCFIInstruction > & | getFrameInstructions () const |
Returns a reference to a list of cfi instructions in the function's prologue. | |
unsigned | addFrameInst (const MCCFIInstruction &Inst) |
const std::vector< MCSymbol * > & | getLongjmpTargets () const |
Returns a reference to a list of symbols immediately following calls to _setjmp in the function. | |
void | addLongjmpTarget (MCSymbol *Target) |
Add the specified symbol to the list of valid longjmp targets for Windows Control Flow Guard. | |
const std::vector< MCSymbol * > & | getCatchretTargets () const |
Returns a reference to a list of symbols that we have catchrets. | |
void | addCatchretTarget (MCSymbol *Target) |
Add the specified symbol to the list of valid catchret targets for Windows EHCont Guard. | |
CalledGlobalInfo | tryGetCalledGlobal (const MachineInstr *MI) const |
Tries to get the global and target flags for a call site, if the instruction is a call to a global. | |
void | addCalledGlobal (const MachineInstr *MI, CalledGlobalInfo Details) |
Notes the global and target flags for a call site. | |
auto | getCalledGlobals () const |
Iterates over the full set of call sites and their associated globals. | |
void | setVariableDbgInfo (const DILocalVariable *Var, const DIExpression *Expr, int Slot, const DILocation *Loc) |
Collect information used to emit debugging information of a variable in a stack slot. | |
void | setVariableDbgInfo (const DILocalVariable *Var, const DIExpression *Expr, MCRegister Reg, const DILocation *Loc) |
Collect information used to emit debugging information of a variable in the entry value of a register. | |
VariableDbgInfoMapTy & | getVariableDbgInfo () |
const VariableDbgInfoMapTy & | getVariableDbgInfo () const |
auto | getInStackSlotVariableDbgInfo () |
Returns the collection of variables for which we have debug info and that have been assigned a stack slot. | |
auto | getInStackSlotVariableDbgInfo () const |
Returns the collection of variables for which we have debug info and that have been assigned a stack slot. | |
auto | getEntryValueVariableDbgInfo () const |
Returns the collection of variables for which we have debug info and that have been assigned an entry value register. | |
void | addCallSiteInfo (const MachineInstr *CallI, CallSiteInfo &&CallInfo) |
Start tracking the arguments passed to the call CallI . | |
const CallSiteInfoMap & | getCallSitesInfo () const |
unsigned | getNewDebugInstrNum () |
Static Public Member Functions | |
static BasicBlockListType MachineFunction::* | getSublistAccess (MachineBasicBlock *) |
Support for MachineBasicBlock::getNextNode(). | |
Public Attributes | |
VariableDbgInfoMapTy | VariableDbgInfos |
unsigned | DebugInstrNumberingCount = 0 |
A count of how many instructions in the function have had numbers assigned to them. | |
SmallVector< DebugSubstitution, 8 > | DebugValueSubstitutions |
Debug value substitutions: a collection of DebugSubstitution objects, recording changes in where a value is defined. | |
DenseMap< unsigned, DebugPHIRegallocPos > | DebugPHIPositions |
Map of debug instruction numbers to the position of their PHI instructions during register allocation. | |
bool | UseDebugInstrRef = false |
Flag for whether this function contains DBG_VALUEs (false) or DBG_INSTR_REF (true). | |
Friends | |
struct | ilist_traits< MachineInstr > |
Exception Handling | |
bool | callsEHReturn () const |
void | setCallsEHReturn (bool b) |
bool | callsUnwindInit () const |
void | setCallsUnwindInit (bool b) |
bool | hasEHCatchret () const |
void | setHasEHCatchret (bool V) |
bool | hasEHScopes () const |
void | setHasEHScopes (bool V) |
bool | hasEHFunclets () const |
void | setHasEHFunclets (bool V) |
bool | hasFakeUses () const |
void | setHasFakeUses (bool V) |
bool | isOutlined () const |
void | setIsOutlined (bool V) |
LandingPadInfo & | getOrCreateLandingPadInfo (MachineBasicBlock *LandingPad) |
Find or create an LandingPadInfo for the specified MachineBasicBlock. | |
const std::vector< LandingPadInfo > & | getLandingPads () const |
Return a reference to the landing pad info for the current function. | |
void | addInvoke (MachineBasicBlock *LandingPad, MCSymbol *BeginLabel, MCSymbol *EndLabel) |
Provide the begin and end labels of an invoke style call and associate it with a try landing pad block. | |
MCSymbol * | addLandingPad (MachineBasicBlock *LandingPad) |
Add a new panding pad, and extract the exception handling information from the landingpad instruction. | |
unsigned | getTypeIDFor (const GlobalValue *TI) |
Return the type id for the specified typeinfo. This is function wide. | |
int | getFilterIDFor (ArrayRef< unsigned > TyIds) |
Return the id of the filter encoded by TyIds. This is function wide. | |
void | setCallSiteLandingPad (MCSymbol *Sym, ArrayRef< unsigned > Sites) |
Map the landing pad's EH symbol to the call site indexes. | |
bool | hasAnyWasmLandingPadIndex () const |
Return if there is any wasm exception handling. | |
void | setWasmLandingPadIndex (const MachineBasicBlock *LPad, unsigned Index) |
Map the landing pad to its index. Used for Wasm exception handling. | |
bool | hasWasmLandingPadIndex (const MachineBasicBlock *LPad) const |
Returns true if the landing pad has an associate index in wasm EH. | |
unsigned | getWasmLandingPadIndex (const MachineBasicBlock *LPad) const |
Get the index in wasm EH for a given landing pad. | |
bool | hasAnyCallSiteLandingPad () const |
SmallVectorImpl< unsigned > & | getCallSiteLandingPad (MCSymbol *Sym) |
Get the call site indexes for a landing pad EH symbol. | |
bool | hasCallSiteLandingPad (MCSymbol *Sym) |
Return true if the landing pad Eh symbol has an associated call site. | |
bool | hasAnyCallSiteLabel () const |
void | setCallSiteBeginLabel (MCSymbol *BeginLabel, unsigned Site) |
Map the begin label for a call site. | |
unsigned | getCallSiteBeginLabel (MCSymbol *BeginLabel) const |
Get the call site number for a begin label. | |
bool | hasCallSiteBeginLabel (MCSymbol *BeginLabel) const |
Return true if the begin label has a call site number associated with it. | |
void | addCodeViewAnnotation (MCSymbol *Label, MDNode *MD) |
Record annotations associated with a particular label. | |
ArrayRef< std::pair< MCSymbol *, MDNode * > > | getCodeViewAnnotations () const |
const std::vector< const GlobalValue * > & | getTypeInfos () const |
Return a reference to the C++ typeinfo for the current function. | |
const std::vector< unsigned > & | getFilterIds () const |
Return a reference to the typeids encoding filters used in the current function. | |
Exception Handling | |
static const unsigned int | DebugOperandMemNumber = 1000000 |
A reserved operand number representing the instructions memory operand, for instructions that have a stack spill fused into them. | |
void | setDebugInstrNumberingCount (unsigned Num) |
Set value of DebugInstrNumberingCount field. | |
void | makeDebugValueSubstitution (DebugInstrOperandPair, DebugInstrOperandPair, unsigned SubReg=0) |
Create a substitution between one <instr,operand> value to a different, new value. | |
void | substituteDebugValuesForInst (const MachineInstr &Old, MachineInstr &New, unsigned MaxOperand=UINT_MAX) |
Create substitutions for any tracked values in Old , to point at New . | |
DebugInstrOperandPair | salvageCopySSA (MachineInstr &MI, DenseMap< Register, DebugInstrOperandPair > &DbgPHICache) |
Find the underlying defining instruction / operand for a COPY instruction while in SSA form. | |
DebugInstrOperandPair | salvageCopySSAImpl (MachineInstr &MI) |
void | finalizeDebugInstrRefs () |
Finalise any partially emitted debug instructions. | |
bool | shouldUseDebugInstrRef () const |
Determine whether, in the current machine configuration, we should use instruction referencing or not. | |
bool | useDebugInstrRef () const |
Returns true if the function's variable locations are tracked with instruction referencing. | |
void | setUseDebugInstrRef (bool UseInstrRef) |
Set whether this function will use instruction referencing or not. | |
void | eraseAdditionalCallInfo (const MachineInstr *MI) |
Following functions update call site info. | |
void | copyAdditionalCallInfo (const MachineInstr *Old, const MachineInstr *New) |
Copy the call site info from Old to \ New. | |
void | moveAdditionalCallInfo (const MachineInstr *Old, const MachineInstr *New) |
Move the call site info from Old to \New call site info. | |
Definition at line 258 of file MachineFunction.h.
Definition at line 921 of file MachineFunction.h.
Definition at line 922 of file MachineFunction.h.
using llvm::MachineFunction::DebugInstrOperandPair = std::pair<unsigned, unsigned> |
Pair of instruction number and operand number.
Definition at line 536 of file MachineFunction.h.
Definition at line 920 of file MachineFunction.h.
using llvm::MachineFunction::OperandCapacity = ArrayRecycler<MachineOperand>::Capacity |
Definition at line 1117 of file MachineFunction.h.
Definition at line 923 of file MachineFunction.h.
Definition at line 523 of file MachineFunction.h.
MachineFunction::MachineFunction | ( | Function & | F, |
const TargetMachine & | Target, | ||
const TargetSubtargetInfo & | STI, | ||
MCContext & | Ctx, | ||
unsigned | FunctionNum | ||
) |
Definition at line 164 of file MachineFunction.cpp.
References F.
|
delete |
MachineFunction::~MachineFunction | ( | ) |
Definition at line 259 of file MachineFunction.cpp.
|
inline |
Notes the global and target flags for a call site.
Definition at line 1202 of file MachineFunction.h.
References assert(), llvm::MachineFunction::CalledGlobalInfo::Callee, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), and MI.
Referenced by llvm::ScheduleDAGSDNodes::EmitSchedule(), and llvm::MIRParserImpl::parseCalledGlobals().
|
inline |
Start tracking the arguments passed to the call CallI
.
Definition at line 1388 of file MachineFunction.h.
References assert(), llvm::MachineInstr::isCandidateForAdditionalCallInfo(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::try_emplace().
Referenced by llvm::ScheduleDAGSDNodes::EmitSchedule(), and llvm::MIRParserImpl::initializeCallSiteInfo().
|
inline |
Add the specified symbol to the list of valid catchret targets for Windows EHCont Guard.
Definition at line 1191 of file MachineFunction.h.
Record annotations associated with a particular label.
Definition at line 1323 of file MachineFunction.h.
unsigned MachineFunction::addFrameInst | ( | const MCCFIInstruction & | Inst | ) |
Definition at line 334 of file MachineFunction.cpp.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::RISCVFrameLowering::allocateStack(), buildCFAOffs(), llvm::MSP430FrameLowering::BuildCFI(), llvm::X86FrameLowering::BuildCFI(), buildDefCFAReg(), llvm::AArch64InstrInfo::buildOutlinedFrame(), convertCalleeSaveRestoreToSPPrePostIncDec(), emitCalleeSavedRestores(), EmitCfiOffset(), EmitDefCfaOffset(), EmitDefCfaRegister(), emitDefineCFAWithFP(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::RISCVFrameLowering::emitEpilogue(), emitFrameOffsetAdj(), llvm::XtensaFrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::CSKYFrameLowering::emitPrologue(), llvm::LoongArchFrameLowering::emitPrologue(), llvm::Mips16FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::RISCVFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::SystemZELFFrameLowering::emitPrologue(), emitSCSEpilogue(), emitSCSPrologue(), emitShadowCallStackEpilogue(), emitShadowCallStackPrologue(), emitVGSaveRestore(), llvm::PPCFrameLowering::inlineStackProbe(), insertCFISameValue(), insertRememberRestorePair(), and llvm::AArch64FrameLowering::resetCFIToInitialState().
void MachineFunction::addInvoke | ( | MachineBasicBlock * | LandingPad, |
MCSymbol * | BeginLabel, | ||
MCSymbol * | EndLabel | ||
) |
Provide the begin and end labels of an invoke style call and associate it with a try landing pad block.
Definition at line 824 of file MachineFunction.cpp.
References llvm::LandingPadInfo::BeginLabels, llvm::LandingPadInfo::EndLabels, and getOrCreateLandingPadInfo().
MCSymbol * MachineFunction::addLandingPad | ( | MachineBasicBlock * | LandingPad | ) |
Add a new panding pad, and extract the exception handling information from the landingpad instruction.
Returns the label ID for the landing pad entry.
Definition at line 831 of file MachineFunction.cpp.
References assert(), llvm::MCContext::createTempSymbol(), llvm::MachineBasicBlock::getBasicBlock(), getFilterIDFor(), llvm::BasicBlock::getFirstNonPHI(), getOrCreateLandingPadInfo(), getTypeIDFor(), I, llvm::LandingPadInfo::LandingPadLabel, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::Value::stripPointerCasts(), and llvm::LandingPadInfo::TypeIds.
Register MachineFunction::addLiveIn | ( | MCRegister | PReg, |
const TargetRegisterClass * | RC | ||
) |
addLiveIn - Add the specified physical register as a live-in value and create a corresponding virtual register for it.
Add the specified physical register as a live-in value and create a corresponding virtual register for it.
Definition at line 762 of file MachineFunction.cpp.
References assert(), llvm::TargetRegisterClass::contains(), getRegInfo(), llvm::TargetRegisterClass::hasSubClassEq(), and MRI.
Referenced by allocateFixedSGPRInputImpl(), llvm::SITargetLowering::allocateHSAUserSGPRs(), allocateHSAUserSGPRs(), llvm::SITargetLowering::allocateLDSKernelId(), llvm::SITargetLowering::allocatePreloadKernArgSGPRs(), allocateSGPR32InputImpl(), llvm::SITargetLowering::allocateSpecialEntryInputVGPRs(), llvm::SITargetLowering::allocateSystemSGPRs(), allocateVGPR32Input(), llvm::CCState::analyzeMustTailForwardedRegisters(), llvm::getFunctionLiveInPhysReg(), getv64i1Argument(), handleMustTailForwardedRegisters(), llvm::AMDGPUCallLowering::lowerFormalArguments(), llvm::R600TargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::VETargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), llvm::HexagonTargetLowering::LowerRETURNADDR(), llvm::LanaiTargetLowering::LowerRETURNADDR(), and LowerRETURNADDR().
|
inline |
Add the specified symbol to the list of valid longjmp targets for Windows Control Flow Guard.
Definition at line 1181 of file MachineFunction.h.
|
inline |
Adds the MBB to the internal numbering.
Returns the unique number assigned to the MBB.
Definition at line 993 of file MachineFunction.h.
References MBB.
Referenced by llvm::ilist_callback_traits< MachineBasicBlock >::addNodeToList().
|
inline |
Allocate an array of MachineOperands.
This is only intended for use by internal MachineInstr functions.
Definition at line 1121 of file MachineFunction.h.
References llvm::ArrayRecycler< T, Align >::allocate(), and Allocator.
Referenced by llvm::MachineInstr::addOperand().
uint32_t * MachineFunction::allocateRegMask | ( | ) |
Allocate and initialize a register mask with NumRegister
bits.
Definition at line 625 of file MachineFunction.cpp.
References llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold, GrowthDelay >::Allocate(), llvm::MCRegisterInfo::getNumRegs(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineOperand::getRegMaskSize(), getSubtarget(), and Size.
Referenced by regMaskFromTemplate(), and llvm::AArch64RegisterInfo::UpdateCustomCallPreservedMask().
Definition at line 633 of file MachineFunction.cpp.
References llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold, GrowthDelay >::Allocate(), and llvm::copy().
Referenced by llvm::MachineIRBuilder::buildShuffleVector().
void MachineFunction::assignBeginEndSections | ( | ) |
Assign IsBeginSection IsEndSection fields for basic blocks in this function.
This method iterates over the basic blocks and assigns their IsBeginSection and IsEndSection fields.
This must be called after MBB layout is finalized and the SectionID's are assigned to MBBs.
Definition at line 415 of file MachineFunction.cpp.
References back(), begin(), end(), front(), llvm::MachineBasicBlock::getSectionID(), MBBI, llvm::MachineBasicBlock::setIsBeginSection(), and llvm::MachineBasicBlock::setIsEndSection().
Referenced by llvm::MIRParserImpl::initializeMachineFunction(), and llvm::sortBasicBlocksAndUpdateBranches().
|
inline |
Definition at line 953 of file MachineFunction.h.
|
inline |
Definition at line 952 of file MachineFunction.h.
Referenced by appendEndToFunction(), assignBeginEndSections(), llvm::calculateDbgEntityHistory(), llvm::EHStreamer::computeCallSiteTable(), llvm::AsmPrinter::emitFunctionBody(), maybeRewriteToFallthrough(), and GCEmptyBasicBlocks::runOnMachineFunction().
|
inline |
Definition at line 938 of file MachineFunction.h.
Referenced by addImplicitDefs(), llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::X86FrameLowering::adjustForSegmentedStacks(), assignBeginEndSections(), cloneCfiPrologue(), collectCallSiteParameters(), llvm::SwiftErrorValueTracking::createEntriesInEntryBlock(), createFrameHelperMachineFunction(), llvm::AVRTargetLowering::EmitInstrWithCustomInserter(), llvm::ScheduleDAGSDNodes::EmitSchedule(), estimateFunctionSizeInBytes(), llvm::SPIRVTargetLowering::finalizeLowering(), findPrologueEndLoc(), llvm::HexagonInstrInfo::genAllInsnTimingClasses(), getBBFallenThrough(), getOrCreateFrameHelper(), llvm::MachineLoop::getTopBlock(), llvm::MachineBasicBlock::isEntryBlock(), llvm::GraphTraits< DOTMachineFuncInfo * >::nodes_begin(), ProfitableToMerge(), RenumberBlocks(), runImpl(), llvm::CFIFixup::runOnMachineFunction(), llvm::Legalizer::runOnMachineFunction(), GCEmptyBasicBlocks::runOnMachineFunction(), llvm::XtensaFrameLowering::spillCalleeSavedRegisters(), llvm::LoopTraversal::traverse(), verifyCTRBranch(), and visit().
|
inline |
Definition at line 939 of file MachineFunction.h.
|
inline |
Definition at line 1216 of file MachineFunction.h.
Referenced by llvm::XCoreFrameLowering::determineCalleeSaves(), llvm::X86RegisterInfo::findDeadCallerSavedReg(), findDeadCallerSavedReg(), llvm::X86RegisterInfo::getCalleeSavedRegs(), llvm::X86FrameLowering::hasFPImpl(), and llvm::MIRPrinter::print().
|
inline |
Definition at line 1219 of file MachineFunction.h.
Referenced by llvm::TargetFrameLowering::determineCalleeSaves(), llvm::XCoreFrameLowering::determineCalleeSaves(), llvm::X86FrameLowering::hasFPImpl(), and llvm::MIRPrinter::print().
|
inline |
Definition at line 831 of file MachineFunction.h.
References Allocator, and assert().
Referenced by llvm::AArch64FunctionInfo::clone(), llvm::SIMachineFunctionInfo::clone(), llvm::ARCFunctionInfo::clone(), llvm::ARMFunctionInfo::clone(), llvm::AVRMachineFunctionInfo::clone(), llvm::CSKYMachineFunctionInfo::clone(), llvm::HexagonMachineFunctionInfo::clone(), llvm::LanaiMachineFunctionInfo::clone(), llvm::LoongArchMachineFunctionInfo::clone(), llvm::M68kMachineFunctionInfo::clone(), llvm::MipsFunctionInfo::clone(), llvm::MSP430MachineFunctionInfo::clone(), llvm::NVPTXMachineFunctionInfo::clone(), llvm::PPCFunctionInfo::clone(), llvm::RISCVMachineFunctionInfo::clone(), llvm::SparcMachineFunctionInfo::clone(), llvm::SystemZMachineFunctionInfo::clone(), llvm::VEMachineFunctionInfo::clone(), llvm::WebAssemblyFunctionInfo::clone(), llvm::X86MachineFunctionInfo::clone(), and llvm::XCoreFunctionInfo::clone().
|
inline |
Definition at line 840 of file MachineFunction.h.
References Allocator, assert(), and llvm::MachineFunctionInfo::clone().
MachineInstr * MachineFunction::CloneMachineInstr | ( | const MachineInstr * | Orig | ) |
Create a new MachineInstr which is a copy of Orig
, identical in all ways except the instruction has no parent, prev, or next.
Create a new MachineInstr which is a copy of the 'Orig' instruction, identical in all ways except the instruction has no parent, prev, or next.
Bundling flags are reset.
Note: Clones a single instruction, not whole instruction bundles. Does not perform target specific adjustments; consider using TargetInstrInfo::duplicate() instead.
Definition at line 439 of file MachineFunction.cpp.
Referenced by llvm::SwingSchedulerDAG::applyInstrChange(), cloneCfiPrologue(), cloneInstr(), cloneMachineInstrBundle(), llvm::WebAssemblyDebugValueManager::cloneSink(), llvm::TargetInstrInfo::commuteInstructionImpl(), llvm::SwingSchedulerDAG::fixupRegisterOverlaps(), for(), genAlternativeDpCodeSequence(), llvm::WindowScheduler::generateTripleMBB(), llvm::PeelingModuloScheduleExpander::moveStageBetweenBlocks(), llvm::PeelSingleBlockLoop(), performSink(), llvm::TargetInstrInfo::reMaterialize(), llvm::SIInstrInfo::reMaterialize(), llvm::ARMBaseInstrInfo::reMaterialize(), llvm::X86InstrInfo::reMaterialize(), llvm::RegBankSelect::repairReg(), and llvm::WebAssemblyDebugValueManager::sink().
MachineInstr & MachineFunction::cloneMachineInstrBundle | ( | MachineBasicBlock & | MBB, |
MachineBasicBlock::iterator | InsertBefore, | ||
const MachineInstr & | Orig | ||
) |
Clones instruction or the whole instruction bundle Orig
and insert into MBB
before InsertBefore
.
Note: Does not perform target specific adjustments; consider using TargetInstrInfo::duplicate() instead.
Definition at line 444 of file MachineFunction.cpp.
References llvm::MachineInstr::bundleWithPred(), CloneMachineInstr(), copyAdditionalCallInfo(), llvm::ilist_node_impl< OptionsT >::getIterator(), I, llvm::MachineBasicBlock::insert(), MBB, and llvm::MachineInstr::shouldUpdateAdditionalCallInfo().
Referenced by llvm::TargetInstrInfo::duplicate().
void MachineFunction::copyAdditionalCallInfo | ( | const MachineInstr * | Old, |
const MachineInstr * | New | ||
) |
Copy the call site info from Old
to \ New.
Its usage is when we are making a copy of the instruction that will be inserted at different point of the instruction stream.
Definition at line 956 of file MachineFunction.cpp.
References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), eraseAdditionalCallInfo(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), getCallInstr(), and llvm::MachineInstr::shouldUpdateAdditionalCallInfo().
Referenced by cloneMachineInstrBundle().
Allocate a string and populate it with the given external symbol name.
Definition at line 618 of file MachineFunction.cpp.
References llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold, GrowthDelay >::Allocate(), llvm::copy(), and Name.
Referenced by addAsmInstr(), llvm::WebAssemblyFrameLowering::emitPrologue(), llvm::HexagonInstrInfo::expandPostRAPseudo(), and llvm::WebAssemblyFrameLowering::writeSPToGlobal().
MachineBasicBlock * MachineFunction::CreateMachineBasicBlock | ( | const BasicBlock * | BB = nullptr , |
std::optional< UniqueBBID > | BBID = std::nullopt |
||
) |
CreateMachineBasicBlock - Allocate a new MachineBasicBlock.
Allocate a new MachineBasicBlock.
Use this instead of ‘new MachineBasicBlock’. Sets MachineBasicBlock::BBID
if basic-block-sections is enabled for the function.
Use this instead of ‘new MachineBasicBlock’.
Definition at line 499 of file MachineFunction.cpp.
References llvm::List, MBB, and llvm::MachineBasicBlock::setBBID().
Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::SwitchCG::SwitchLowering::buildJumpTable(), createDedicatedExit(), createFrameHelperMachineFunction(), llvm::PeelingModuloScheduleExpander::CreateLCSSAExitingBlock(), llvm::SystemZ::emitBlockAfter(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::SystemZTargetLowering::emitEHSjLjSetJmp(), llvm::VETargetLowering::emitEHSjLjSetJmp(), llvm::AArch64TargetLowering::EmitF128CSEL(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::AVRTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::emitProbedAlloca(), emitReadCounterWidePseudo(), llvm::VETargetLowering::emitSjLjDispatchBlock(), emitStackProbeInline(), emitXBegin(), llvm::AMDGPURegisterBankInfo::executeInWaterfallLoop(), llvm::VEInstrInfo::expandExtendStackPseudo(), llvm::SelectionDAGBuilder::FindMergedConditions(), INITIALIZE_PASS(), llvm::PPCFrameLowering::inlineStackProbe(), llvm::SystemZXPLINKFrameLowering::inlineStackProbe(), insertDivByZeroTrap(), llvm::SIInstrInfo::insertSimulatedTrap(), llvm::AMDGPULegalizerInfo::legalizeTrapEndpgm(), loadM0FromVGPR(), loadMBUFScalarOperandsFromVGPR(), llvm::PeelSingleBlockLoop(), llvm::AArch64InstrInfo::probedStackAlloc(), llvm::ARMBlockPlacement::revertWhileToDoLoop(), llvm::IRTranslator::runOnMachineFunction(), llvm::FunctionLoweringInfo::set(), llvm::MachineBasicBlock::splitAt(), splitBlockForLoop(), llvm::MachineBasicBlock::SplitCriticalEdge(), splitEdge(), splitEndLoopBB(), splitMBB(), and tryToSplitRestore().
MachineInstr * MachineFunction::CreateMachineInstr | ( | const MCInstrDesc & | MCID, |
DebugLoc | DL, | ||
bool | NoImplicit = false |
||
) |
CreateMachineInstr - Allocate a new MachineInstr.
Allocate a new MachineInstr. Use this instead of ‘new MachineInstr’.
Use this instead of ‘new MachineInstr’.
Definition at line 429 of file MachineFunction.cpp.
References DL.
Referenced by llvm::BuildMI(), llvm::HexagonPacketizerList::canPromoteToDotNew(), llvm::HexagonHazardRecognizer::EmitInstruction(), foldPatchpoint(), fuseInst(), fuseTwoAddrInst(), llvm::HexagonHazardRecognizer::getHazardType(), LowerCallResults(), llvm::TargetInstrInfo::reassociateOps(), llvm::HexagonPacketizerList::tryAllocateResourcesForConstExt(), and llvm::X86InstrInfo::unfoldMemoryOperand().
MachineInstr::ExtraInfo * MachineFunction::createMIExtraInfo | ( | ArrayRef< MachineMemOperand * > | MMOs, |
MCSymbol * | PreInstrSymbol = nullptr , |
||
MCSymbol * | PostInstrSymbol = nullptr , |
||
MDNode * | HeapAllocMarker = nullptr , |
||
MDNode * | PCSections = nullptr , |
||
uint32_t | CFIType = 0 , |
||
MDNode * | MMRAs = nullptr |
||
) |
Allocate and construct an extra info structure for a MachineInstr
.
This is allocated on the function's allocator and so lives the life of the function.
Definition at line 609 of file MachineFunction.cpp.
|
inline |
Dellocate an array of MachineOperands and recycle the memory.
This is only intended for use by internal MachineInstr functions. Cap must be the same capacity that was used to allocate the array.
Definition at line 1128 of file MachineFunction.h.
References llvm::ArrayRecycler< T, Align >::deallocate().
Referenced by llvm::MachineInstr::addOperand(), and deleteMachineInstr().
void MachineFunction::deleteMachineBasicBlock | ( | MachineBasicBlock * | MBB | ) |
DeleteMachineBasicBlock - Delete the given MachineBasicBlock.
Delete the given MachineBasicBlock.
Definition at line 513 of file MachineFunction.cpp.
References assert(), llvm::MachineBasicBlock::getParent(), MBB, and llvm::MachineJumpTableInfo::RemoveMBBFromJumpTables().
Referenced by llvm::ilist_alloc_traits< MachineBasicBlock >::deleteNode(), and llvm::IRTranslator::runOnMachineFunction().
void MachineFunction::deleteMachineInstr | ( | MachineInstr * | MI | ) |
DeleteMachineInstr - Delete the given MachineInstr.
Delete the given MachineInstr.
This function also serves as the MachineInstr destructor - the real ~MachineInstr() destructor must be empty.
Definition at line 474 of file MachineFunction.cpp.
References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::contains(), deallocateOperandArray(), and MI.
Referenced by llvm::HexagonPacketizerList::canPromoteToDotNew(), llvm::HexagonHazardRecognizer::EmitInstruction(), llvm::SwingSchedulerDAG::finishBlock(), llvm::HexagonHazardRecognizer::getHazardType(), popRegsFromStack(), and llvm::HexagonPacketizerList::tryAllocateResourcesForConstExt().
LLVM_DUMP_METHOD void MachineFunction::dump | ( | ) | const |
dump - Print the current MachineFunction to cerr, useful for debugger use.
Definition at line 640 of file MachineFunction.cpp.
References llvm::dbgs(), and print().
Referenced by llvm::A57ChainingConstraint::apply().
|
inline |
Definition at line 949 of file MachineFunction.h.
Referenced by llvm::AsmPrinter::emitFunctionBody(), llvm::SITargetLowering::finalizeLowering(), and RenumberBlocks().
|
inline |
Definition at line 940 of file MachineFunction.h.
Referenced by assignBeginEndSections(), bbHasFallthrough(), BBHasFallthrough(), canFallThroughTo(), llvm::AVRTargetLowering::EmitInstrWithCustomInserter(), estimateFunctionSizeInBytes(), llvm::SPIRVTargetLowering::finalizeLowering(), findPrologueEndLoc(), FixTail(), llvm::MachineLoop::getBottomBlock(), getNextBlock(), jumpTableFollowsTB(), llvm::GraphTraits< DOTMachineFuncInfo * >::nodes_end(), RenumberBlocks(), runImpl(), llvm::CFIFixup::runOnMachineFunction(), llvm::MachineBasicBlock::SplitCriticalEdge(), tryToSplitRestore(), and verifyCFIntrinsic().
|
inline |
Definition at line 941 of file MachineFunction.h.
|
inline |
ensureAlignment - Make sure the function is at least A bytes aligned.
Definition at line 778 of file MachineFunction.h.
References A.
Referenced by llvm::ARMBasicBlockUtils::computeBlockSize(), and llvm::R600AsmPrinter::runOnMachineFunction().
|
inline |
Definition at line 972 of file MachineFunction.h.
References llvm::iplist_impl< IntrusiveListT, TraitsT >::erase(), and MBBI.
Referenced by llvm::MachineBasicBlock::eraseFromParent().
|
inline |
Definition at line 973 of file MachineFunction.h.
References llvm::iplist_impl< IntrusiveListT, TraitsT >::erase(), and MBBI.
void MachineFunction::eraseAdditionalCallInfo | ( | const MachineInstr * | MI | ) |
Following functions update call site info.
They should be called before removing, replacing or copying call instruction. Erase the call site info for MI
. It is used to remove a call instruction from the instruction stream.
Definition at line 940 of file MachineFunction.cpp.
References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), getCallInstr(), and MI.
Referenced by copyAdditionalCallInfo(), moveAdditionalCallInfo(), and llvm::TargetInstrInfo::ReplaceTailWithBranchTo().
int64_t MachineFunction::estimateFunctionSizeInBytes | ( | ) |
Return an estimate of the function's code size, taking into account block and function alignment.
Offset - Distance from the beginning of the function to the end of the basic block.
Definition at line 381 of file MachineFunction.cpp.
References llvm::alignTo(), begin(), BlockSize, end(), llvm::MachineBasicBlock::getAlignment(), getAlignment(), llvm::TargetSubtargetInfo::getInstrInfo(), getSubtarget(), MBBI, MI, llvm::Offset, TII, and llvm::Align::value().
Referenced by llvm::XtensaFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
exposesReturnsTwice - Returns true if the function calls setjmp or any other similar functions with attribute "returns twice" without having the attribute itself.
Definition at line 786 of file MachineFunction.h.
Referenced by llvm::CodeViewDebug::beginFunctionImpl(), llvm::PPCFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::needsFP(), and llvm::MIRPrinter::print().
void MachineFunction::finalizeDebugInstrRefs | ( | ) |
Finalise any partially emitted debug instructions.
These are DBG_INSTR_REF instructions where we only knew the vreg of the value they use, not the instruction that defines that vreg. Once isel finishes, we should have enough information for every DBG_INSTR_REF to point at an instruction (or DBG_PHI).
Definition at line 1217 of file MachineFunction.cpp.
References assert(), llvm::MachineRegisterInfo::def_instr_begin(), DefMI, llvm::TargetSubtargetInfo::getInstrInfo(), getSubtarget(), llvm::MachineRegisterInfo::hasOneDef(), MBB, MI, Reg, salvageCopySSA(), and TII.
Referenced by llvm::SelectionDAGISel::runOnMachineFunction().
|
inline |
Definition at line 951 of file MachineFunction.h.
|
inline |
Definition at line 950 of file MachineFunction.h.
Referenced by assignBeginEndSections(), llvm::WinException::beginFunction(), llvm::EHStreamer::computeCallSiteTable(), llvm::rdf::Liveness::computeLiveIns(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::EHStreamer::emitExceptionTable(), llvm::AsmPrinter::emitFunctionBody(), llvm::HexagonDAGToDAGISel::emitFunctionEntryCode(), llvm::X86AsmPrinter::emitInstruction(), llvm::ARMAsmPrinter::emitMachineConstantPoolValue(), llvm::XtensaFrameLowering::emitPrologue(), llvm::HexagonFrameLowering::emitPrologue(), llvm::LanaiFrameLowering::emitPrologue(), llvm::MSP430FrameLowering::emitPrologue(), llvm::NVPTXFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::SystemZELFFrameLowering::emitPrologue(), llvm::SystemZXPLINKFrameLowering::emitPrologue(), llvm::VEFrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), ensureEntrySetPrio(), findScratchNonCalleeSaveRegister(), llvm::getEHScopeMembership(), llvm::rdf::FuncNode::getEntryBlock(), llvm::GraphTraits< DOTMachineFuncInfo * >::getEntryNode(), llvm::getFunctionLiveInPhysReg(), llvm::CSKYInstrInfo::getGlobalBaseReg(), llvm::SparcInstrInfo::getGlobalBaseReg(), llvm::VEInstrInfo::getGlobalBaseReg(), llvm::getOpVariableMBBIt(), llvm::MipsFunctionInfo::initGlobalBaseReg(), llvm::SlotIndexes::insertMBBInMaps(), isAlwaysIndirectTarget(), llvm::LiveRangeCalc::isJointlyDominated(), isSignExtendedW(), llvm::LiveVariables::MarkVirtRegAliveInBlock(), PrevCrossBBInst(), llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized(), llvm::SystemZELFFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::IRTranslator::runOnMachineFunction(), llvm::ARMBlockPlacement::runOnMachineFunction(), llvm::ErrataWorkaround::runOnMachineFunction(), llvm::sortBasicBlocksAndUpdateBranches(), sortBlocks(), and updateLiveness().
|
inline |
getAlignment - Return the alignment of the function.
Definition at line 772 of file MachineFunction.h.
Referenced by llvm::WinException::beginFunclet(), llvm::MipsAsmPrinter::emitFunctionEntryLabel(), estimateFunctionSizeInBytes(), and llvm::MIRPrinter::print().
|
inline |
getBlockNumbered - MachineBasicBlocks are automatically numbered when they are inserted into the machine function.
The block number for a machine basic block can be found by using the MBB::getNumber method, this method provides the inverse mapping.
Definition at line 857 of file MachineFunction.h.
Referenced by llvm::ARMBasicBlockUtils::adjustBBOffsetsAfter(), llvm::SplitAnalysis::getFirstSplitPoint(), llvm::SplitAnalysis::getLastSplitPoint(), llvm::WebAssemblyFunctionInfo::initializeBaseYamlFields(), llvm::LiveRangeCalc::isJointlyDominated(), llvm::SPIRVCallLowering::lowerCall(), maybeUpdateTerminator(), llvm::SwiftErrorValueTracking::propagateVRegs(), and llvm::SplitEditor::splitLiveThroughBlock().
|
inline |
Return the numbering "epoch" of block numbers, incremented after each numbering.
Intended for asserting that no renumbering was performed when used by, e.g., preserved analyses.
Definition at line 872 of file MachineFunction.h.
|
inline |
Iterates over the full set of call sites and their associated globals.
Definition at line 1209 of file MachineFunction.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::begin(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), and llvm::make_range().
Referenced by llvm::MIRPrinter::convertCalledGlobals().
Get the call site number for a begin label.
Definition at line 1311 of file MachineFunction.h.
References assert(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::lookup().
Referenced by llvm::EHStreamer::computeCallSiteTable().
|
inline |
Get the call site indexes for a landing pad EH symbol.
Definition at line 1290 of file MachineFunction.h.
Referenced by llvm::VETargetLowering::emitSjLjDispatchBlock().
|
inline |
Definition at line 1396 of file MachineFunction.h.
Referenced by collectCallSiteParameters(), and llvm::MIRPrinter::convertCallSiteObjects().
Returns a reference to a list of symbols that we have catchrets.
Used to construct the catchret target table used by Windows EHCont Guard.
Definition at line 1185 of file MachineFunction.h.
Referenced by llvm::WinException::endFunction().
|
inline |
Definition at line 1327 of file MachineFunction.h.
Referenced by llvm::CodeViewDebug::endFunctionImpl().
|
inline |
getConstantPool - Return the constant pool object for the current function.
Definition at line 756 of file MachineFunction.h.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), duplicateCPV(), llvm::AsmPrinter::emitConstantPool(), llvm::WebAssemblyAsmPrinter::emitConstantPool(), llvm::XtensaAsmPrinter::emitConstantPool(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), emitLoadFromConstantPool(), emitThumb1LoadConstPool(), emitThumb2LoadConstPool(), EstimateFunctionSizeInBytes(), llvm::PPCInstrInfo::finalizeInsInstrs(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::PPCInstrInfo::getConstantFromConstantPool(), llvm::AsmPrinter::GetCPISymbol(), llvm::CSKYInstrInfo::getGlobalBaseReg(), llvm::MIRParserImpl::initializeMachineFunction(), llvm::XtensaInstrInfo::insertIndirectBranch(), llvm::XtensaInstrInfo::loadImmediate(), llvm::XCoreInstrInfo::loadImmediate(), llvm::MIRPrinter::print(), llvm::ARMBaseInstrInfo::produceSameValue(), llvm::ARMAsmPrinter::runOnMachineFunction(), llvm::CSKYAsmPrinter::runOnMachineFunction(), and llvm::MipsAsmPrinter::runOnMachineFunction().
|
inline |
Definition at line 757 of file MachineFunction.h.
|
inline |
Definition at line 681 of file MachineFunction.h.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::MipsTargetLowering::AdjustInstrPostInstrSelection(), llvm::ModuloScheduleTestAnnotater::annotate(), llvm::DwarfCFIException::beginFunction(), buildDefCFAReg(), llvm::MSP430FrameLowering::emitCalleeSavedFrameMoves(), llvm::X86FrameLowering::emitCalleeSavedFrameMoves(), llvm::X86FrameLowering::emitCalleeSavedFrameMovesFullCFA(), llvm::AsmPrinter::emitFunctionBody(), llvm::AMDGPUAsmPrinter::emitFunctionBodyStart(), llvm::MipsAsmPrinter::emitFunctionBodyStart(), llvm::SystemZAsmPrinter::emitInstruction(), llvm::AsmPrinter::emitPCSections(), llvm::AsmPrinter::emitPCSectionsLabel(), llvm::XtensaFrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::Mips16FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::SystemZELFFrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::X86FrameLowering::enableShrinkWrapping(), llvm::MachineBasicBlock::getEHCatchretSymbol(), llvm::TargetLoweringObjectFileXCOFF::getEHInfoTableSymbol(), llvm::MachineBasicBlock::getEndSymbol(), llvm::PPCFunctionInfo::getGlobalEPSymbol(), llvm::PPCFunctionInfo::getLocalEPSymbol(), getMCSymbolForMBB(), llvm::PPCFunctionInfo::getPICOffsetSymbol(), llvm::X86RegisterInfo::getReservedRegs(), llvm::MachineBasicBlock::getSymbol(), llvm::PPCFunctionInfo::getTOCOffsetSymbol(), llvm::PPCFrameLowering::inlineStackProbe(), llvm::SIInstrInfo::insertIndirectBranch(), LowerCallResults(), llvm::FastISel::lowerCallTo(), llvm::SystemZAsmPrinter::PrintAsmOperand(), recoverFramePointer(), llvm::SIProgramInfo::reset(), llvm::AMDGPUAsmPrinter::runOnMachineFunction(), llvm::X86AsmPrinter::runOnMachineFunction(), and transformCallee().
const DataLayout & MachineFunction::getDataLayout | ( | ) | const |
Return the DataLayout attached to the Module associated to this MF.
Definition at line 309 of file MachineFunction.cpp.
References llvm::Function::getDataLayout().
Referenced by llvm::X86TargetLowering::BuildFILD(), llvm::ScheduleDAGInstrs::buildSchedGraph(), llvm::LoongArchTargetLowering::CanLowerReturn(), CC_AArch64_Custom_Block(), CC_ARM_AAPCS_Custom_Aggregate(), llvm::CC_RISCV(), llvm::CallLowering::checkReturnTypeForCallConv(), llvm::FunctionLoweringInfo::ComputePHILiveOutRegInfo(), llvm::SwiftErrorValueTracking::createEntriesInEntryBlock(), llvm::FunctionLoweringInfo::CreateRegs(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::SystemZTargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::SystemZTargetLowering::emitEHSjLjSetJmp(), llvm::MipsAsmPrinter::emitInstruction(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::AsmPrinter::emitJumpTableInfo(), llvm::TargetLoweringBase::emitPatchPoint(), llvm::GIMatchTableExecutor::executeMatchTable(), llvm::PPCInstrInfo::finalizeInsInstrs(), llvm::RISCVInstrInfo::foldMemoryOperandImpl(), llvm::AsmPrinter::GetCPISymbol(), llvm::CombinerHelper::getDataLayout(), llvm::SelectionDAG::getDataLayout(), llvm::PPCFunctionInfo::getGlobalEPSymbol(), getJTISymbol(), llvm::PPCFunctionInfo::getLocalEPSymbol(), llvm::WebAssemblyFrameLowering::getLocalForStackObject(), llvm::SwiftErrorValueTracking::getOrCreateVReg(), llvm::SwiftErrorValueTracking::getOrCreateVRegDefAt(), getPICBaseSymbol(), llvm::PPCFunctionInfo::getPICOffsetSymbol(), llvm::MSP430TargetLowering::getReturnAddressFrameIndex(), llvm::TargetInstrInfo::getStackSlotRange(), llvm::M68kMCInstLower::GetSymbolFromOperand(), llvm::SITargetLowering::getTgtMemIntrinsic(), llvm::PPCFunctionInfo::getTOCOffsetSymbol(), llvm::MachinePointerInfo::getUnknownStack(), llvm::CallLowering::handleAssignments(), llvm::CallLowering::insertSRetLoads(), llvm::CallLowering::insertSRetStores(), llvm::SystemZTargetLowering::LowerCall(), llvm::ARMCallLowering::lowerCall(), llvm::MipsCallLowering::lowerCall(), llvm::RISCVCallLowering::lowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::ARMCallLowering::lowerFormalArguments(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::RISCVCallLowering::lowerFormalArguments(), llvm::X86CallLowering::lowerFormalArguments(), llvm::VETargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_64(), lowerFRAMEADDR(), llvm::MipsCallLowering::lowerReturn(), llvm::X86CallLowering::lowerReturn(), llvm::RISCVCallLowering::lowerReturn(), llvm::X86TargetLowering::markLibCallAttributes(), llvm::CombinerHelper::matchCombineExtractedVectorLoad(), llvm::CombinerHelper::matchLoadOrCombine(), llvm::CombinerHelper::matchPtrAddZero(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::AsmPrinter::PrintSpecial(), processDbgDeclare(), llvm::SwiftErrorValueTracking::propagateVRegs(), llvm::SITargetLowering::requiresUniformRegister(), llvm::LegalizerHelper::scalarizeVectorBooleanStore(), and llvm::FunctionLoweringInfo::set().
DenormalMode MachineFunction::getDenormalMode | ( | const fltSemantics & | FPType | ) | const |
Returns the denormal handling type for the default rounding mode of the function.
Definition at line 324 of file MachineFunction.cpp.
References llvm::Function::getDenormalMode().
Referenced by llvm::SelectionDAG::getDenormalMode(), llvm::SITargetLowering::isCanonicalized(), isFCmpEqualZero(), needsDenormHandlingF32(), llvm::AMDGPUTargetLowering::needsDenormHandlingF32(), and llvm::NVPTXTargetLowering::useF32FTZ().
|
inline |
Returns the collection of variables for which we have debug info and that have been assigned an entry value register.
Definition at line 1381 of file MachineFunction.h.
References llvm::make_filter_range().
Referenced by llvm::MIRPrinter::convertEntryValueObjects().
Return the id of the filter encoded by TyIds. This is function wide.
Definition at line 890 of file MachineFunction.cpp.
References llvm::append_range(), and llvm::ArrayRef< T >::size().
Referenced by addLandingPad().
Return a reference to the typeids encoding filters used in the current function.
Definition at line 1338 of file MachineFunction.h.
Referenced by llvm::EHStreamer::computeActionsTable(), llvm::EHStreamer::emitExceptionTable(), and llvm::EHStreamer::emitTypeInfos().
|
inline |
getFrameInfo - Return the frame info object for the current function.
This object contains information about objects allocated on the stack frame of the current function in an abstract way.
Definition at line 740 of file MachineFunction.h.
Referenced by addCalleeSavedRegs(), llvm::addFrameReference(), addFrameReference(), llvm::M68k::addFrameReference(), llvm::RegsForValue::AddInlineAsmOperands(), llvm::LiveRegUnits::addLiveOuts(), llvm::LivePhysRegs::addLiveOutsNoPristines(), llvm::M68k::addMemOperand(), llvm::PPCFrameLowering::addScavengingSpillSlot(), llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::SIFrameLowering::allocateScavengingFrameIndexesNearIncomingSP(), llvm::SIMachineFunctionInfo::allocateSGPRSpillToVGPRLane(), llvm::StatepointLoweringState::allocateStackSlot(), llvm::SIMachineFunctionInfo::allocateVGPRSpillToAGPR(), llvm::SIMachineFunctionInfo::allocateWWMSpill(), allSGPRSpillsAreDead(), llvm::ARCFrameLowering::assignCalleeSavedSpillSlots(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), llvm::M68kFrameLowering::assignCalleeSavedSpillSlots(), llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(), llvm::SystemZELFFrameLowering::assignCalleeSavedSpillSlots(), llvm::SystemZXPLINKFrameLowering::assignCalleeSavedSpillSlots(), llvm::X86FrameLowering::assignCalleeSavedSpillSlots(), llvm::AArch64FrameLowering::assignCalleeSavedSpillSlots(), llvm::RISCVFrameLowering::assignCalleeSavedSpillSlots(), llvm::VirtRegMap::assignVirt2StackSlot(), llvm::CodeViewDebug::beginFunctionImpl(), buildEpilogRestore(), llvm::X86TargetLowering::BuildFILD(), buildPrologSpill(), llvm::SIRegisterInfo::buildSpillLoadStore(), llvm::SIRegisterInfo::buildVGPRSpillLoadStore(), CalculateTailCallArgDest(), llvm::AArch64RegisterInfo::cannotEliminateFrame(), llvm::ARMBaseRegisterInfo::cannotEliminateFrame(), llvm::TargetRegisterInfo::canRealignStack(), llvm::M68kRegisterInfo::canRealignStack(), llvm::X86RegisterInfo::canRealignStack(), llvm::ARMFrameLowering::canSimplifyCallFramePseudos(), llvm::AArch64FrameLowering::canUseRedZone(), llvm::BaseIndexOffset::computeAliasing(), computeCalleeSaveRegisterPairs(), llvm::GISelKnownBits::computeKnownAlignment(), llvm::TargetLowering::computeKnownBitsForFrameIndex(), llvm::MIRPrinter::convertStackObjects(), llvm::MipsFunctionInfo::createEhDataRegsFI(), llvm::XCoreFunctionInfo::createEHSpillSlot(), llvm::XCoreFunctionInfo::createFPSpillSlot(), llvm::MipsFunctionInfo::createISRRegFI(), llvm::XCoreFunctionInfo::createLRSpillSlot(), llvm::SelectionDAG::CreateStackTemporary(), llvm::LegalizerHelper::createStackTemporary(), llvm::TargetInstrInfo::describeLoadedValue(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::CSKYFrameLowering::determineCalleeSaves(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::MipsSEFrameLowering::determineCalleeSaves(), llvm::SystemZELFFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSaves(), llvm::LanaiFrameLowering::determineCalleeSaves(), llvm::M68kFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::XCoreFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSavesSGPR(), llvm::PPCFrameLowering::determineFrameLayout(), llvm::SystemZXPLINKFrameLowering::determineFrameLayout(), llvm::PPCFrameLowering::determineFrameLayoutAndUpdate(), llvm::SIFrameLowering::determinePrologEpilogSGPRSaves(), llvm::TargetOptions::DisableFramePointerElim(), llvm::AArch64FrameLowering::eliminateCallFramePseudoInstr(), llvm::AArch64RegisterInfo::eliminateFrameIndex(), llvm::ARCRegisterInfo::eliminateFrameIndex(), llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), llvm::ThumbRegisterInfo::eliminateFrameIndex(), llvm::LanaiRegisterInfo::eliminateFrameIndex(), llvm::M68kRegisterInfo::eliminateFrameIndex(), llvm::MipsRegisterInfo::eliminateFrameIndex(), llvm::MSP430RegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::AVRRegisterInfo::eliminateFrameIndex(), llvm::BPFRegisterInfo::eliminateFrameIndex(), llvm::NVPTXRegisterInfo::eliminateFrameIndex(), llvm::WebAssemblyRegisterInfo::eliminateFrameIndex(), llvm::X86RegisterInfo::eliminateFrameIndex(), llvm::XtensaRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Spills(), llvm::AArch64TargetLowering::EmitAllocateSMESaveBuffer(), llvm::AArch64TargetLowering::EmitAllocateZABuffer(), llvm::MSP430FrameLowering::emitCalleeSavedFrameMoves(), llvm::X86FrameLowering::emitCalleeSavedFrameMoves(), emitCalleeSavedRestores(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::SIFrameLowering::emitEpilogue(), llvm::ARCFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::AVRFrameLowering::emitEpilogue(), llvm::CSKYFrameLowering::emitEpilogue(), llvm::LoongArchFrameLowering::emitEpilogue(), llvm::M68kFrameLowering::emitEpilogue(), llvm::Mips16FrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::MSP430FrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::RISCVFrameLowering::emitEpilogue(), llvm::SparcFrameLowering::emitEpilogue(), llvm::SystemZELFFrameLowering::emitEpilogue(), llvm::SystemZXPLINKFrameLowering::emitEpilogue(), llvm::VEFrameLowering::emitEpilogue(), llvm::WebAssemblyFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::XCoreFrameLowering::emitEpilogue(), llvm::XtensaFrameLowering::emitEpilogue(), llvm::MipsAsmPrinter::emitFrameDirective(), llvm::HexagonDAGToDAGISel::emitFunctionEntryCode(), llvm::SystemZAsmPrinter::emitFunctionEntryLabel(), llvm::AArch64TargetLowering::EmitInitTPIDR2Object(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::TargetLoweringBase::emitPatchPoint(), llvm::XtensaFrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::SIFrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::AVRFrameLowering::emitPrologue(), llvm::CSKYFrameLowering::emitPrologue(), llvm::HexagonFrameLowering::emitPrologue(), llvm::LanaiFrameLowering::emitPrologue(), llvm::LoongArchFrameLowering::emitPrologue(), llvm::M68kFrameLowering::emitPrologue(), llvm::Mips16FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::MSP430FrameLowering::emitPrologue(), llvm::NVPTXFrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::RISCVFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::SystemZELFFrameLowering::emitPrologue(), llvm::SystemZXPLINKFrameLowering::emitPrologue(), llvm::VEFrameLowering::emitPrologue(), llvm::WebAssemblyFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), emitSCSEpilogue(), emitSCSPrologue(), llvm::VETargetLowering::emitSjLjDispatchBlock(), llvm::AsmPrinter::emitStackSizeSection(), llvm::AsmPrinter::emitStackUsage(), EmitTailCallStoreFPAndRetAddr(), EmitTailCallStoreRetAddr(), emitVGSaveRestore(), enableAllocFrameElim(), llvm::CCState::ensureMaxAlignment(), llvm::BaseIndexOffset::equalBaseIndex(), llvm::MipsFrameLowering::estimateStackSize(), llvm::VEInstrInfo::expandGetStackTopPseudo(), llvm::ARMTargetLowering::finalizeLowering(), fixupFuncForFI(), foldInlineAsmMemOperand(), llvm::TargetInstrInfo::foldMemoryOperand(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), llvm::X86InstrInfo::foldMemoryOperandImpl(), getAddressForMemoryInput(), llvm::TargetFrameLowering::getCalleeSaves(), llvm::X86FrameLowering::getDwarfFrameBase(), llvm::HexagonTargetLowering::GetDynamicTLSAddr(), llvm::LoongArchFrameLowering::getFirstSPAdjustAmount(), llvm::RISCVFrameLowering::getFirstSPAdjustAmount(), getFPOffset(), getFRAMEADDR(), getFrameIndexMMO(), llvm::TargetFrameLowering::getFrameIndexReference(), llvm::R600FrameLowering::getFrameIndexReference(), llvm::SIFrameLowering::getFrameIndexReference(), llvm::CSKYFrameLowering::getFrameIndexReference(), llvm::HexagonFrameLowering::getFrameIndexReference(), llvm::LoongArchFrameLowering::getFrameIndexReference(), llvm::M68kFrameLowering::getFrameIndexReference(), llvm::MipsSEFrameLowering::getFrameIndexReference(), llvm::NVPTXFrameLowering::getFrameIndexReference(), llvm::RISCVFrameLowering::getFrameIndexReference(), llvm::SparcFrameLowering::getFrameIndexReference(), llvm::VEFrameLowering::getFrameIndexReference(), llvm::X86FrameLowering::getFrameIndexReference(), llvm::TargetFrameLowering::getFrameIndexReferenceFromSP(), llvm::AArch64FrameLowering::getFrameIndexReferenceFromSP(), llvm::AArch64FrameLowering::getFrameIndexReferencePreferSP(), llvm::X86FrameLowering::getFrameIndexReferencePreferSP(), llvm::X86FrameLowering::getFrameIndexReferenceSP(), llvm::ARMBankConflictHazardRecognizer::getHazardType(), llvm::R600InstrInfo::getIndirectIndexBegin(), llvm::R600InstrInfo::getIndirectIndexEnd(), llvm::AArch64RegisterInfo::getLocalAddressRegister(), llvm::WebAssemblyFrameLowering::getLocalForStackObject(), getMachineMemOperand(), getMemcpyLoadsAndStores(), getMemmoveLoadsAndStores(), llvm::MipsInstrInfo::GetMemOperand(), getMemsetStores(), llvm::RISCVMachineFunctionInfo::getMoveF64FrameIndex(), llvm::MipsFunctionInfo::getMoveF64ViaSpillFI(), llvm::SystemZELFFrameLowering::getOrCreateFramePointerSaveIndex(), llvm::SystemZXPLINKFrameLowering::getOrCreateFramePointerSaveIndex(), llvm::AArch64InstrInfo::getOutliningTypeImpl(), llvm::ARMBaseInstrInfo::getOutliningTypeImpl(), llvm::ARMSubtarget::getPushPopSplitVariation(), llvm::ARMBaseRegisterInfo::getRegPressureLimit(), llvm::MipsRegisterInfo::getReservedRegs(), llvm::MachineInstr::getRestoreSize(), llvm::MSP430TargetLowering::getReturnAddressFrameIndex(), llvm::X86TargetLowering::getReturnAddressFrameIndex(), getRVVCalleeSavedInfo(), getScavSlotsNumForRVV(), llvm::AArch64FrameLowering::getSEHFrameIndexOffset(), llvm::MachineInstr::getSpillSize(), getStackAlignedMMO(), getStackOffset(), llvm::RISCVFrameLowering::getStackSizeWithRVVPadding(), GetTLSADDR(), getUnmanagedCSI(), getVGPRSpillLaneOrTempRegister(), llvm::X86FrameLowering::getWin64EHFrameIndexRef(), llvm::AArch64FrameLowering::getWinEHFuncletFrameSize(), llvm::CallLowering::handleAssignments(), handleMustTailForwardedRegisters(), llvm::AArch64RegisterInfo::hasBasePointer(), llvm::SIRegisterInfo::hasBasePointer(), llvm::ARMBaseRegisterInfo::hasBasePointer(), llvm::LanaiRegisterInfo::hasBasePointer(), llvm::M68kRegisterInfo::hasBasePointer(), llvm::X86RegisterInfo::hasBasePointer(), llvm::CSKYFrameLowering::hasBP(), llvm::LoongArchFrameLowering::hasBP(), llvm::MipsFrameLowering::hasBP(), llvm::RISCVFrameLowering::hasBP(), llvm::VEFrameLowering::hasBP(), llvm::AArch64FrameLowering::hasFPImpl(), llvm::SIFrameLowering::hasFPImpl(), llvm::ARCFrameLowering::hasFPImpl(), llvm::ARMFrameLowering::hasFPImpl(), llvm::AVRFrameLowering::hasFPImpl(), llvm::CSKYFrameLowering::hasFPImpl(), llvm::HexagonFrameLowering::hasFPImpl(), llvm::LoongArchFrameLowering::hasFPImpl(), llvm::M68kFrameLowering::hasFPImpl(), llvm::MipsFrameLowering::hasFPImpl(), llvm::MSP430FrameLowering::hasFPImpl(), llvm::PPCFrameLowering::hasFPImpl(), llvm::RISCVFrameLowering::hasFPImpl(), llvm::SparcFrameLowering::hasFPImpl(), llvm::SystemZELFFrameLowering::hasFPImpl(), llvm::SystemZXPLINKFrameLowering::hasFPImpl(), llvm::VEFrameLowering::hasFPImpl(), llvm::WebAssemblyFrameLowering::hasFPImpl(), llvm::X86FrameLowering::hasFPImpl(), llvm::XCoreFrameLowering::hasFPImpl(), llvm::XtensaFrameLowering::hasFPImpl(), llvm::AArch64FrameLowering::hasReservedCallFrame(), llvm::ARMFrameLowering::hasReservedCallFrame(), llvm::Thumb1FrameLowering::hasReservedCallFrame(), llvm::AVRFrameLowering::hasReservedCallFrame(), llvm::CSKYFrameLowering::hasReservedCallFrame(), llvm::LoongArchFrameLowering::hasReservedCallFrame(), llvm::M68kFrameLowering::hasReservedCallFrame(), llvm::Mips16FrameLowering::hasReservedCallFrame(), llvm::MipsSEFrameLowering::hasReservedCallFrame(), llvm::MSP430FrameLowering::hasReservedCallFrame(), llvm::RISCVFrameLowering::hasReservedCallFrame(), llvm::SparcFrameLowering::hasReservedCallFrame(), llvm::WebAssemblyFrameLowering::hasReservedCallFrame(), llvm::X86FrameLowering::hasReservedCallFrame(), llvm::inferAlignFromPtrInfo(), llvm::SelectionDAG::InferPtrAlign(), llvm::SIMachineFunctionInfo::initializeBaseYamlFields(), llvm::MIRParserImpl::initializeFrameInfo(), llvm::PPCFrameLowering::inlineStackProbe(), llvm::CallLowering::insertSRetOutgoingArgument(), llvm::PPCRegisterInfo::isCallerPreservedPhysReg(), isConsecutiveLSLoc(), llvm::MachineInstr::isDereferenceableInvariantLoad(), llvm::XCoreFunctionInfo::isLargeFrame(), isLRSpilled(), llvm::SelectionDAGISel::isOrEquivalentToAdd(), llvm::TargetInstrInfo::isReallyTriviallyReMaterializable(), isXPLeafCandidate(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::HexagonInstrInfo::loadRegFromStackSlot(), llvm::SparcInstrInfo::loadRegFromStackSlot(), llvm::VEInstrInfo::loadRegFromStackSlot(), llvm::LoongArchInstrInfo::loadRegFromStackSlot(), llvm::RISCVInstrInfo::loadRegFromStackSlot(), llvm::MSP430InstrInfo::loadRegFromStackSlot(), llvm::SIInstrInfo::loadRegFromStackSlot(), llvm::ARCInstrInfo::loadRegFromStackSlot(), llvm::AVRInstrInfo::loadRegFromStackSlot(), llvm::CSKYInstrInfo::loadRegFromStackSlot(), llvm::M68kInstrInfo::loadRegFromStackSlot(), llvm::X86InstrInfo::loadRegFromStackSlot(), llvm::XCoreInstrInfo::loadRegFromStackSlot(), llvm::PPCInstrInfo::loadRegFromStackSlotNoUpd(), llvm::AMDGPUTargetLowering::loadStackInputValue(), LowerAsSplatVectorLoad(), llvm::SITargetLowering::LowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), llvm::SparcTargetLowering::LowerCall_64(), llvm::TargetLowering::LowerCallTo(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::PPCRegisterInfo::lowerDynamicAreaOffset(), llvm::SparcTargetLowering::LowerF128_LibCallArg(), llvm::SparcTargetLowering::LowerF128Op(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::LoongArchTargetLowering::LowerFormalArguments(), llvm::RISCVTargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::VETargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), llvm::HexagonTargetLowering::LowerFRAMEADDR(), llvm::LanaiTargetLowering::LowerFRAMEADDR(), llvm::MSP430TargetLowering::LowerFRAMEADDR(), lowerFRAMEADDR(), llvm::SparcTargetLowering::LowerGlobalTLSAddress(), LowerINTRINSIC_W_CHAIN(), llvm::HexagonTargetLowering::LowerRETURNADDR(), llvm::LanaiTargetLowering::LowerRETURNADDR(), llvm::MSP430TargetLowering::LowerRETURNADDR(), LowerRETURNADDR(), lowerRETURNADDR(), llvm::AMDGPUCallLowering::lowerTailCall(), llvm::TargetLowering::LowerToTLSEmulatedModel(), llvm::VETargetLowering::lowerToTLSGeneralDynamicModel(), llvm::VETargetLowering::lowerVASTART(), LowerVASTART(), llvm::SparcTargetLowering::makeAddress(), llvm::Mips16InstrInfo::makeFrame(), llvm::MachineInstr::mayAlias(), llvm::AArch64Subtarget::mirFileLoaded(), llvm::HexagonFrameLowering::needsAligna(), llvm::PPCFrameLowering::needsFP(), llvm::AArch64RegisterInfo::needsFrameBaseReg(), llvm::ARMBaseRegisterInfo::needsFrameBaseReg(), llvm::RISCVRegisterInfo::needsFrameBaseReg(), llvm::TargetFrameLowering::needsFrameIndexResolution(), llvm::M68kFrameLowering::needsFrameIndexResolution(), llvm::X86FrameLowering::needsFrameIndexResolution(), llvm::WebAssemblyFrameLowering::needsPrologForEH(), llvm::AArch64FrameLowering::orderFrameObjects(), llvm::HexagonFrameLowering::orderFrameObjects(), llvm::SystemZELFFrameLowering::orderFrameObjects(), llvm::X86FrameLowering::orderFrameObjects(), llvm::SGPRSpillBuilder::prepare(), llvm::PPCRegisterInfo::prepareDynamicAlloca(), llvm::MIRPrinter::print(), llvm::MIPrinter::print(), llvm::MachineInstr::print(), printMemOperand(), llvm::MipsAsmPrinter::printSavedRegsBitmask(), llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized(), llvm::ARCFrameLowering::processFunctionBeforeFrameFinalized(), llvm::LoongArchFrameLowering::processFunctionBeforeFrameFinalized(), llvm::RISCVFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SystemZELFFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SystemZXPLINKFrameLowering::processFunctionBeforeFrameFinalized(), llvm::X86FrameLowering::processFunctionBeforeFrameFinalized(), llvm::XtensaFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(), llvm::HexagonFrameLowering::processFunctionBeforeFrameFinalized(), llvm::MSP430FrameLowering::processFunctionBeforeFrameFinalized(), llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized(), llvm::XCoreFrameLowering::processFunctionBeforeFrameFinalized(), llvm::recomputeLivenessFlags(), llvm::PPCFrameLowering::replaceFPWithRealFP(), llvm::SIRegisterInfo::requiresFrameIndexReplacementScavenging(), llvm::PPCRegisterInfo::requiresFrameIndexScavenging(), llvm::SIRegisterInfo::requiresRegisterScavenging(), llvm::SIFrameLowering::requiresStackPointerReference(), reservePrivateMemoryRegs(), llvm::AArch64FrameLowering::resetCFIToInitialState(), llvm::AArch64FrameLowering::resolveFrameIndexReference(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), llvm::AArch64FrameLowering::resolveFrameOffsetReference(), llvm::Mips16InstrInfo::restoreFrame(), llvm::X86FrameLowering::restoreWin32EHStackPointers(), runImpl(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::IRTranslator::runOnMachineFunction(), llvm::AVRFrameAnalyzer::runOnMachineFunction(), llvm::HexagonDAGToDAGISel::SelectAddrFI(), llvm::HexagonDAGToDAGISel::SelectFrameIndex(), llvm::InstructionSelect::selectMachineFunction(), llvm::FastISel::selectPatchpoint(), llvm::FastISel::selectStackmap(), llvm::FunctionLoweringInfo::set(), setAlignFlagsForFI(), llvm::AsmPrinter::SetupMachineFunction(), llvm::AArch64InstrInfo::shouldClusterMemOps(), llvm::TargetRegisterInfo::shouldRealignStack(), llvm::yaml::SIMachineFunctionInfo::SIMachineFunctionInfo(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::LoongArchFrameLowering::spillCalleeSavedRegisters(), llvm::Mips16FrameLowering::spillCalleeSavedRegisters(), llvm::MipsSEFrameLowering::spillCalleeSavedRegisters(), llvm::XtensaFrameLowering::spillCalleeSavedRegisters(), spillIncomingStatepointValue(), llvm::AggressiveAntiDepBreaker::StartBlock(), llvm::CriticalAntiDepBreaker::StartBlock(), llvm::AArch64InstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::LoongArchInstrInfo::storeRegToStackSlot(), llvm::RISCVInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::VEInstrInfo::storeRegToStackSlot(), llvm::SIInstrInfo::storeRegToStackSlot(), llvm::ARCInstrInfo::storeRegToStackSlot(), llvm::AVRInstrInfo::storeRegToStackSlot(), llvm::CSKYInstrInfo::storeRegToStackSlot(), llvm::M68kInstrInfo::storeRegToStackSlot(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::X86InstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::PPCInstrInfo::storeRegToStackSlotNoUpd(), tryToElideArgumentCopy(), unpack64(), unpackF64OnRV32DSoftABI(), unpackFromMemLoc(), updateLiveness(), llvm::ARMFrameLowering::updateLRRestored(), llvm::HexagonPacketizerList::useCalleesSP(), llvm::HexagonPacketizerList::useCallersSP(), llvm::SIMachineFunctionInfo::usesAGPRs(), llvm::RISCVMachineFunctionInfo::useSaveRestoreLibCalls(), llvm::SelectionDAGBuilder::visitSPDescriptorParent(), and WindowsRequiresStackProbe().
|
inline |
Definition at line 741 of file MachineFunction.h.
|
inline |
Returns a reference to a list of cfi instructions in the function's prologue.
Used to construct frame maps for debug and exception handling comsumers.
Definition at line 1166 of file MachineFunction.h.
Referenced by llvm::AsmPrinter::emitCFIInstruction(), maybeMoveCFI(), and llvm::X86FrameLowering::mergeSPUpdates().
|
inline |
Return the LLVM function that this machine code represents.
Definition at line 695 of file MachineFunction.h.
References F.
Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), AlignBlocks(), llvm::SITargetLowering::allocatePreloadKernArgSGPRs(), llvm::SIMachineFunctionInfo::allocateVGPRSpillToAGPR(), llvm::MachineOptimizationRemarkEmitter::allowExtraAnalysis(), llvm::NVPTXTargetLowering::allowUnsafeFPMath(), llvm::LiveDebugVariables::analyze(), llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), llvm::AMDGPUCallLowering::areCalleeOutgoingArgsTailCallable(), llvm::SystemZELFFrameLowering::assignCalleeSavedSpillSlots(), llvm::AArch64FrameLowering::assignCalleeSavedSpillSlots(), llvm::DwarfCFIException::beginBasicBlockSection(), llvm::DwarfDebug::beginCodeAlignment(), llvm::WinException::beginFunclet(), llvm::DebugHandlerBase::beginFunction(), llvm::DwarfCFIException::beginFunction(), llvm::WinException::beginFunction(), llvm::CodeViewDebug::beginFunctionImpl(), llvm::DwarfDebug::beginFunctionImpl(), llvm::BTFDebug::beginFunctionImpl(), llvm::DwarfDebug::beginInstruction(), llvm::MachineIRBuilder::buildFConstant(), llvm::SPIRVGlobalRegistry::buildGlobalVariable(), llvm::buildNDRange(), llvm::TargetLowering::BuildSDIVPow2(), llvm::TargetLowering::BuildSREMPow2(), llvm::AArch64InstrInfo::canFoldIntoAddrMode(), llvm::AArch64CallLowering::canLowerReturn(), llvm::RISCVCallLowering::canLowerReturn(), llvm::X86CallLowering::canLowerReturn(), llvm::AArch64TargetLowering::canMergeStoresTo(), llvm::X86TargetLowering::canMergeStoresTo(), llvm::AArch64FrameLowering::canUseRedZone(), CC_X86_Intr(), checkNumAlignedDPRCS2Regs(), llvm::CallLowering::checkReturnTypeForCallConv(), collectCallSiteParameters(), combineFMA(), combineFMADDSUB(), combineFMinNumFMaxNum(), combineFneg(), combineMul(), combineStore(), combineVectorSizedSetCCEquality(), computeCalleeSaveRegisterPairs(), llvm::SITargetLowering::computeKnownAlignForTargetInstr(), llvm::SelectionDAG::computeKnownBits(), llvm::AMDGPUTargetLowering::computeKnownBitsForTargetNode(), convertImplicitDefToConstZero(), llvm::MIRPrinter::convertMachineMetadataNodes(), createAtomicLibcall(), llvm::createLibcall(), llvm::XCoreFunctionInfo::createLRSpillSlot(), llvm::createMemLibcall(), llvm::MCResourceInfo::createTotalNumSGPRs(), llvm::MCResourceInfo::createTotalNumVGPRs(), llvm::TargetInstrInfo::describeLoadedValue(), llvm::CallLowering::determineAndHandleAssignments(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::CSKYFrameLowering::determineCalleeSaves(), llvm::SystemZELFFrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), llvm::XCoreFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineFrameLayout(), llvm::TargetOptions::DisableFramePointerElim(), llvm::AMDGPUCallLowering::doCallerAndCalleePassArgsTheSameWay(), duplicateCPV(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::MachineOptimizationRemarkEmitter::emit(), llvm::AsmPrinter::emitBasicBlockStart(), llvm::AsmPrinter::emitBBAddrMapSection(), EmitCmp(), llvm::XtensaAsmPrinter::emitConstantPool(), emitConstantSizeRepmov(), emitConstantSizeRepstos(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::ARCFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::LoongArchFrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::RISCVFrameLowering::emitEpilogue(), llvm::SystemZELFFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::XCoreFrameLowering::emitEpilogue(), emitErrorMsg(), llvm::EHStreamer::emitExceptionTable(), llvm::emitFrameOffset(), llvm::AsmPrinter::emitFunctionBody(), llvm::AMDGPUAsmPrinter::emitFunctionBodyEnd(), llvm::AMDGPUAsmPrinter::emitFunctionBodyStart(), llvm::MipsAsmPrinter::emitFunctionBodyStart(), llvm::WebAssemblyAsmPrinter::emitFunctionBodyStart(), llvm::AsmPrinter::emitFunctionEntryLabel(), llvm::AMDGPUAsmPrinter::emitFunctionEntryLabel(), llvm::ARMAsmPrinter::emitFunctionEntryLabel(), llvm::SystemZAsmPrinter::emitFunctionEntryLabel(), llvm::MachineInstr::emitGenericError(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitHiddenKernelArgs(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5::emitHiddenKernelArgs(), llvm::DwarfDebug::emitInitialLocDirective(), llvm::AsmPrinter::emitInitialRawDwarfLocDirective(), llvm::MachineInstr::emitInlineAsmError(), llvm::AsmPrinter::emitJumpTableInfo(), llvm::AsmPrinter::emitKCFITypeId(), llvm::X86AsmPrinter::emitKCFITypeId(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitKernel(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitKernelArgs(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), llvm::AArch64TargetLowering::EmitLoweredCatchRet(), emitNonHSAIntrinsicError(), llvm::AsmPrinter::emitPatchableFunctionEntries(), llvm::AsmPrinter::emitPCSections(), llvm::AArch64FrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::CSKYFrameLowering::emitPrologue(), llvm::LoongArchFrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::RISCVFrameLowering::emitPrologue(), llvm::SystemZELFFrameLowering::emitPrologue(), llvm::SystemZXPLINKFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), emitRemovedIntrinsicError(), emitReservedArgRegCallError(), llvm::AArch64RegisterInfo::emitReservedArgRegCallError(), emitSCSEpilogue(), emitSCSPrologue(), llvm::AsmPrinter::emitStackUsage(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemmove(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemset(), emitThumb1LoadConstPool(), emitThumb2LoadConstPool(), emitVGSaveRestore(), llvm::AsmPrinter::emitXRayTable(), enableAllocFrameElim(), llvm::TargetFrameLowering::enableCalleeSaveSkip(), llvm::ARMFrameLowering::enableCalleeSaveSkip(), llvm::HexagonFrameLowering::enableCalleeSaveSkip(), enableMultiVectorSpillFill(), llvm::LoongArchFrameLowering::enableShrinkWrapping(), llvm::RISCVFrameLowering::enableShrinkWrapping(), llvm::X86FrameLowering::enableShrinkWrapping(), llvm::ARMException::endFunction(), llvm::WinException::endFunction(), llvm::AIXException::endFunction(), llvm::CodeViewDebug::endFunctionImpl(), llvm::DwarfDebug::endFunctionImpl(), errorUnsupported(), llvm::GIMatchTableExecutor::executeMatchTable(), llvm::X86TargetLowering::expandIndirectJTBranch(), llvm::ARMBaseInstrInfo::expandLoadStackGuardBase(), expandMul(), llvm::AArch64InstrInfo::expandPostRAPseudo(), llvm::PPCInstrInfo::expandPostRAPseudo(), fail(), llvm::AArch64CallLowering::fallBackToDAGISel(), findPrologueEndLoc(), findScratchNonCalleeSaveRegister(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::TargetOptions::FramePointerIsReserved(), llvm::MCResourceInfo::gatherResourceInfo(), getArgBaseReg(), llvm::AArch64Subtarget::getAuthenticatedLRCheckMethod(), getBBAddrMapFeature(), llvm::SystemZELFRegisters::getCalleeSavedRegs(), llvm::AArch64RegisterInfo::getCalleeSavedRegs(), llvm::SIRegisterInfo::getCalleeSavedRegs(), llvm::ARMBaseRegisterInfo::getCalleeSavedRegs(), llvm::CSKYRegisterInfo::getCalleeSavedRegs(), llvm::LoongArchRegisterInfo::getCalleeSavedRegs(), llvm::MipsRegisterInfo::getCalleeSavedRegs(), llvm::MSP430RegisterInfo::getCalleeSavedRegs(), llvm::PPCRegisterInfo::getCalleeSavedRegs(), llvm::RISCVRegisterInfo::getCalleeSavedRegs(), llvm::VERegisterInfo::getCalleeSavedRegs(), llvm::X86RegisterInfo::getCalleeSavedRegs(), llvm::AArch64RegisterInfo::getCalleeSavedRegsViaCopy(), llvm::ARMBaseRegisterInfo::getCalleeSavedRegsViaCopy(), llvm::X86RegisterInfo::getCalleeSavedRegsViaCopy(), llvm::SystemZELFRegisters::getCallPreservedMask(), llvm::AArch64RegisterInfo::getCallPreservedMask(), llvm::ARMBaseRegisterInfo::getCallPreservedMask(), llvm::X86RegisterInfo::getCallPreservedMask(), llvm::MachineIRBuilder::getContext(), getCopyFromParts(), llvm::AArch64RegisterInfo::getDarwinCalleeSavedRegs(), llvm::AArch64RegisterInfo::getDarwinCallPreservedMask(), llvm::MachineIRBuilder::getDataLayout(), llvm::SIInstrInfo::getDSShaderTypeValue(), llvm::getEHScopeMembership(), llvm::RegAllocBase::getErrorAssignment(), getFixedObjectSize(), getFPOffset(), llvm::AArch64FrameLowering::getFrameIndexReference(), llvm::X86FrameLowering::getFrameIndexReference(), llvm::AsmPrinter::getFunctionCFISectionType(), llvm::SIMachineFunctionInfo::getGITPtrLoReg(), llvm::CSKYInstrInfo::getGlobalBaseReg(), llvm::ARMSubtarget::getGPRAllocationOrder(), llvm::X86RegisterInfo::getGPRsForTailCall(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::getHSAKernelProps(), llvm::AArch64InstrInfo::getInstSizeInBytes(), llvm::RISCVInstrInfo::getInstSizeInBytes(), llvm::PerFunctionMIParsingState::getIRValue(), getLayoutSuccessorProbThreshold(), getLoadStackGuard(), llvm::GCNSubtarget::getMaxNumSGPRs(), llvm::GCNSubtarget::getMaxNumVGPRs(), getMCSymbolForMBB(), getMemcpyLoadsAndStores(), getMemmoveLoadsAndStores(), getMemsetStores(), getName(), llvm::GCNSubtarget::getNSAThreshold(), llvm::AMDGPUSubtarget::getOccupancyWithLocalMemSize(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVBoolType(), llvm::getOrCreateSPIRVDeviceEventPointer(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVFloatType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVIntegerType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVTypeByName(), llvm::VETargetLowering::getPICJumpTableRelocBase(), llvm::ARMSubtarget::getPushPopSplitVariation(), getRecipEstimateForFunc(), getRegistersForValue(), llvm::SIRegisterInfo::getRegPressureLimit(), llvm::SystemZELFFrameLowering::getRegSpillOffset(), llvm::M68kRegisterInfo::getReservedRegs(), llvm::MipsRegisterInfo::getReservedRegs(), llvm::RISCVRegisterInfo::getReservedRegs(), llvm::X86RegisterInfo::getReservedRegs(), GetScratchRegister(), llvm::AMDGPULegalizerInfo::getSegmentAperture(), llvm::PPCTargetLowering::getStackProbeSize(), llvm::SystemZTargetLowering::getStackProbeSize(), llvm::X86TargetLowering::getStackProbeSize(), llvm::RISCVTargetLowering::getStackProbeSize(), llvm::X86TargetLowering::getStackProbeSymbolName(), llvm::AArch64RegisterInfo::getStrictlyReservedRegs(), llvm::SelectionDAG::getSymbolFunctionGlobalAddress(), GetSymbolRef(), llvm::SelectionDAG::getVScale(), llvm::CallLowering::handleAssignments(), handleMustTailForwardedRegisters(), llvm::X86FrameLowering::has128ByteRedZone(), hasDebugInfo(), llvm::TargetFrameLowering::hasFP(), llvm::PPCTargetLowering::hasInlineStackProbe(), llvm::RISCVTargetLowering::hasInlineStackProbe(), llvm::SystemZTargetLowering::hasInlineStackProbe(), llvm::X86TargetLowering::hasInlineStackProbe(), llvm::hasInstrProfHashMismatch(), HasNestArgument(), hasReturnsTwiceAttr(), llvm::HexagonEvaluator::HexagonEvaluator(), llvm::ARMSubtarget::ignoreCSRForAllocationOrder(), llvm::inferAlignFromPtrInfo(), llvm::SelectionDAGBuilder::init(), llvm::SelectionDAG::init(), llvm::PreRARematStage::initGCNSchedStage(), llvm::MipsFunctionInfo::initGlobalBaseReg(), llvm::LexicalScopes::initialize(), INITIALIZE_PASS(), llvm::SelectionDAGISel::initializeAnalysisResults(), llvm::MIRParserImpl::initializeConstantPool(), llvm::MIRParserImpl::initializeFrameInfo(), llvm::XtensaInstrInfo::insertIndirectBranch(), insertInlineAsmProcess(), interpretValues(), llvm::AArch64RegisterInfo::isArgumentRegister(), llvm::X86RegisterInfo::isArgumentRegister(), llvm::AArch64RegisterInfo::isAsmClobberable(), isCallableFunction(), llvm::TargetRegisterInfo::isCalleeSavedPhysReg(), isCandidatePatchable(), llvm::SparcTargetLowering::IsEligibleForTailCallOptimization(), llvm::AArch64CallLowering::isEligibleForTailCallOptimization(), llvm::AMDGPUCallLowering::isEligibleForTailCallOptimization(), llvm::HexagonTargetLowering::IsEligibleForTailCallOptimization(), llvm::SITargetLowering::isEligibleForTailCallOptimization(), llvm::PPCTargetLowering::isFMAFasterThanFMulAndFAdd(), llvm::AArch64InstrInfo::isFunctionSafeToOutlineFrom(), llvm::ARMBaseInstrInfo::isFunctionSafeToOutlineFrom(), llvm::RISCVInstrInfo::isFunctionSafeToOutlineFrom(), llvm::X86InstrInfo::isFunctionSafeToOutlineFrom(), llvm::TargetInstrInfo::isFunctionSafeToSplit(), llvm::TargetLowering::isInTailCallPosition(), llvm::SelectionDAG::isKnownNeverZero(), isLibCallInTailPosition(), isMinSize(), isNoReturnDef(), isOptNone(), isOptSize(), llvm::ARMBaseInstrInfo::isProfitableToIfCvt(), llvm::PPCInstrInfo::isSignOrZeroExtended(), knownBitsForWorkitemID(), llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(), llvm::ARMLegalizerInfo::legalizeCustom(), llvm::RISCVLegalizerInfo::legalizeCustom(), llvm::AMDGPULegalizerInfo::legalizeGlobalValue(), llvm::RISCVLegalizerInfo::legalizeIntrinsic(), llvm::SIInstrInfo::legalizeOperands(), llvm::AMDGPULegalizerInfo::legalizeSBufferLoad(), llvm::AMDGPULegalizerInfo::legalizeTrapHsaQueuePtr(), llvm::LegalizerHelper::libcall(), llvm::SIMachineFunctionInfo::limitOccupancy(), llvm::MachineBasicBlock::liveout_begin(), llvm::XtensaInstrInfo::loadImmediate(), llvm::XCoreInstrInfo::loadImmediate(), llvm::MipsSEInstrInfo::loadRegFromStack(), LowerATOMIC_STORE(), llvm::SystemZTargetLowering::LowerCall(), llvm::FastISel::lowerCall(), llvm::AArch64CallLowering::lowerCall(), llvm::AMDGPUCallLowering::lowerCall(), llvm::M68kCallLowering::lowerCall(), llvm::MipsCallLowering::lowerCall(), llvm::RISCVCallLowering::lowerCall(), llvm::SPIRVCallLowering::lowerCall(), llvm::X86CallLowering::lowerCall(), llvm::CallLowering::lowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::AMDGPUCallLowering::lowerChainCall(), llvm::AsmPrinter::lowerConstant(), llvm::AMDGPUTargetLowering::LowerDYNAMIC_STACKALLOC(), llvm::NVPTXTargetLowering::LowerDYNAMIC_STACKALLOC(), llvm::HexagonTargetLowering::LowerFDIV(), llvm::SITargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::NVPTXTargetLowering::LowerFormalArguments(), llvm::RISCVTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), LowerFPToInt(), llvm::AMDGPUTargetLowering::LowerGlobalAddress(), llvm::InlineAsmLowering::lowerInlineAsm(), LowerInterruptReturn(), llvm::LegalizerHelper::lowerLoad(), llvm::LoongArchAsmPrinter::LowerPATCHABLE_FUNCTION_ENTER(), llvm::MipsCallLowering::lowerReturn(), llvm::X86CallLowering::lowerReturn(), llvm::AArch64CallLowering::lowerReturn(), llvm::M68kCallLowering::lowerReturn(), llvm::PPCCallLowering::lowerReturn(), llvm::RISCVCallLowering::lowerReturn(), llvm::SPIRVCallLowering::lowerReturn(), llvm::NVPTXTargetLowering::LowerReturn(), llvm::RISCVTargetLowering::LowerReturn(), llvm::SystemZTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::NVPTXTargetLowering::LowerSTACKRESTORE(), llvm::NVPTXTargetLowering::LowerSTACKSAVE(), llvm::LegalizerHelper::lowerStore(), llvm::AMDGPUCallLowering::lowerTailCall(), llvm::LegalizerHelper::lowerThreewayCompare(), llvm::AMDGPUTargetLowering::lowerUnhandledCall(), llvm::LegalizerHelper::lowerVAArg(), LowerVACOPY(), llvm::SparcTargetLowering::makeAddress(), llvm::X86TargetLowering::markLibCallAttributes(), llvm::CombinerHelper::matchCombineExtractedVectorLoad(), llvm::CombinerHelper::matchHoistLogicOpWithSameOpcodeHands(), llvm::CombinerHelper::matchLoadOrCombine(), llvm::TargetInstrInfo::mergeOutliningCandidateAttributes(), needFuncLabels(), llvm::AArch64FunctionInfo::needsAsyncDwarfUnwindInfo(), llvm::PPCFrameLowering::needsFP(), llvm::WebAssemblyFrameLowering::needsPrologForEH(), needsPrologueENDBR(), llvm::AsmPrinter::needsSEHMoves(), llvm::AArch64FunctionInfo::needsShadowCallStackPrologueEpilogue(), needsWinCFI(), llvm::OptLevelChanger::OptLevelChanger(), llvm::MIRParserImpl::parseCalledGlobals(), parseGlobalValue(), parseIRConstant(), parseIRValue(), llvm::GCNTargetMachine::parseMachineFunctionInfo(), llvm::SITargetLowering::passSpecialInputs(), llvm::AMDGPUCallLowering::passSpecialInputs(), performBRCONDCombine(), llvm::AArch64TargetLowering::preferredShiftLegalizationStrategy(), llvm::RISCVTargetLowering::preferredShiftLegalizationStrategy(), llvm::X86TargetLowering::preferredShiftLegalizationStrategy(), llvm::SGPRSpillBuilder::prepare(), llvm::MIRPrinter::print(), llvm::MIPrinter::print(), llvm::MachineInstr::print(), print(), llvm::MachineBasicBlock::print(), printMemOperand(), llvm::printMIR(), processBlockAddr(), llvm::X86FrameLowering::processFunctionBeforeFrameFinalized(), produceCompactUnwindFrame(), promoteToConstantPool(), llvm::SGPRSpillBuilder::readWriteTmpVGPR(), reduceVMULWidth(), llvm::VerifyInstrumentation::registerCallbacks(), llvm::RISCVTargetLowering::ReplaceNodeResults(), llvm::X86TargetLowering::ReplaceNodeResults(), reportIllegalCopy(), reservePrivateMemoryRegs(), llvm::AArch64FrameLowering::resolveFrameOffsetReference(), llvm::PPCFrameLowering::restoreCalleeSavedRegisters(), llvm::X86FrameLowering::restoreCalleeSavedRegisters(), llvm::X86FrameLowering::restoreWinEHStackPointersInParent(), llvm::CallLowering::resultsCompatible(), llvm::SIShrinkInstructionsPass::run(), llvm::LiveStacksPrinterPass::run(), llvm::GCNDPPCombinePass::run(), llvm::MachineOptimizationRemarkEmitterAnalysis::run(), llvm::PrintMIRPass::run(), llvm::RegUsageInfoCollectorPass::run(), llvm::RegUsageInfoPropagationPass::run(), llvm::SelectionDAGISelPass::run(), llvm::TailDuplicatePassBase< DerivedT, PreRegAlloc >::run(), llvm::TwoAddressInstructionPass::run(), llvm::AMDGPUISelDAGToDAGPass::run(), llvm::SILoadStoreOptimizerPass::run(), llvm::SIPeepholeSDWAPass::run(), llvm::MIRProfileLoader::runOnFunction(), llvm::ARMAsmPrinter::runOnMachineFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::ExecutionDomainFix::runOnMachineFunction(), llvm::InstructionSelect::runOnMachineFunction(), llvm::IRTranslator::runOnMachineFunction(), llvm::Legalizer::runOnMachineFunction(), llvm::RegBankSelect::runOnMachineFunction(), llvm::MachineOptimizationRemarkEmitterPass::runOnMachineFunction(), llvm::SelectionDAGISelLegacy::runOnMachineFunction(), llvm::BreakFalseDeps::runOnMachineFunction(), llvm::AMDGPUAsmPrinter::runOnMachineFunction(), llvm::AMDGPUDAGToDAGISel::runOnMachineFunction(), llvm::AMDGPUResourceUsageAnalysis::runOnMachineFunction(), llvm::ARMBlockPlacement::runOnMachineFunction(), llvm::HexagonMask::runOnMachineFunction(), llvm::NVPTXDAGToDAGISel::runOnMachineFunction(), llvm::X86AsmPrinter::runOnMachineFunction(), llvm::InstructionSelect::selectMachineFunction(), llvm::RAGreedy::selectOrSplit(), llvm::SwiftErrorValueTracking::setFunction(), llvm::AsmPrinter::SetupMachineFunction(), llvm::AMDGPUInstructionSelector::setupMF(), llvm::TargetLoweringObjectFileXCOFF::ShouldEmitEHBlock(), shouldGenerateInlineTPLoop(), shouldLowerMemFuncForSize(), llvm::FastISel::shouldOptForSize(), llvm::GIMatchTableExecutor::shouldOptForSize(), llvm::shouldOptimizeForSize(), llvm::AArch64InstrInfo::shouldOutlineFromFunctionByDefault(), llvm::ARMBaseInstrInfo::shouldOutlineFromFunctionByDefault(), llvm::RISCVInstrInfo::shouldOutlineFromFunctionByDefault(), llvm::X86RegisterInfo::shouldRealignStack(), llvm::TargetLoweringObjectFileXCOFF::ShouldSetSSPCanaryBitInTB(), shouldSplitStack(), llvm::TargetLowering::SimplifySetCC(), llvm::SystemZELFFrameLowering::spillCalleeSavedRegisters(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::MipsSEFrameLowering::spillCalleeSavedRegisters(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), splitStores(), llvm::MipsSEInstrInfo::storeRegToStack(), llvm::AArch64TargetLowering::supportSplitCSR(), transformCallee(), unpackFromRegLoc(), updateForAIXShLibTLSModelOpt(), llvm::SystemZELFFrameLowering::usePackedStack(), llvm::SIMachineFunctionInfo::usesAGPRs(), llvm::RISCVMachineFunctionInfo::useSaveRestoreLibCalls(), llvm::R600InstrInfo::usesTextureCache(), llvm::R600InstrInfo::usesVertexCache(), validateGroupWaitEventsPtr(), validateLifetimeStart(), llvm::SelectionDAGBuilder::visitSPDescriptorParent(), WarnSize(), llvm::LegalizerHelper::widenScalar(), WindowsRequiresStackProbe(), and llvm::OptLevelChanger::~OptLevelChanger().
Return the LLVM function that this machine code represents.
Definition at line 698 of file MachineFunction.h.
References F.
|
inline |
getFunctionNumber - Return a unique ID for the current function.
Definition at line 704 of file MachineFunction.h.
Referenced by llvm::NVPTXFrameLowering::emitPrologue(), llvm::MachineBasicBlock::getEHCatchretSymbol(), llvm::TargetLoweringObjectFileXCOFF::getEHInfoTableSymbol(), llvm::MachineBasicBlock::getEndSymbol(), llvm::AsmPrinter::getFunctionNumber(), llvm::PPCFunctionInfo::getGlobalEPSymbol(), getJTISymbol(), llvm::PPCFunctionInfo::getLocalEPSymbol(), getPICBaseSymbol(), llvm::PPCFunctionInfo::getPICOffsetSymbol(), llvm::MachineBasicBlock::getSymbol(), llvm::PPCFunctionInfo::getTOCOffsetSymbol(), and llvm::VETargetLowering::lowerINTRINSIC_WO_CHAIN().
|
inline |
getInfo - Keep track of various per-function pieces of information for backends that would like to do so.
Definition at line 822 of file MachineFunction.h.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::SITargetLowering::AdjustInstrPostInstrSelection(), allSGPRSpillsAreDead(), llvm::WebAssemblyInstrInfo::analyzeBranch(), llvm::AMDGPURegisterBankInfo::applyMappingDynStackAlloc(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::AMDGPUCallLowering::areCalleeOutgoingArgsTailCallable(), llvm::ARMBasicBlockUtils::ARMBasicBlockUtils(), llvm::SIFrameLowering::assignCalleeSavedSpillSlots(), llvm::ARMFrameLowering::assignCalleeSavedSpillSlots(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), llvm::M68kFrameLowering::assignCalleeSavedSpillSlots(), llvm::SystemZELFFrameLowering::assignCalleeSavedSpillSlots(), llvm::SystemZXPLINKFrameLowering::assignCalleeSavedSpillSlots(), llvm::X86FrameLowering::assignCalleeSavedSpillSlots(), llvm::AArch64FrameLowering::assignCalleeSavedSpillSlots(), llvm::RISCVFrameLowering::assignCalleeSavedSpillSlots(), llvm::X86FrameLowering::BuildCFI(), buildGitPtr(), llvm::AArch64InstrInfo::buildOutlinedFrame(), llvm::ARMBaseInstrInfo::buildOutlinedFrame(), BuildPACM(), buildScratchExecCopy(), llvm::SIRegisterInfo::buildSpillLoadStore(), CalculateTailCallSPDiff(), llvm::X86InstrInfo::canMakeTailCallConditional(), llvm::X86FrameLowering::canSimplifyCallFramePseudos(), canSpillOnFrameIndexAccess(), llvm::RISCVFrameLowering::canUseAsEpilogue(), llvm::X86FrameLowering::canUseAsEpilogue(), llvm::AArch64FrameLowering::canUseAsPrologue(), llvm::RISCVFrameLowering::canUseAsPrologue(), llvm::X86FrameLowering::canUseAsPrologue(), llvm::AArch64FrameLowering::canUseRedZone(), llvm::AArch64TargetLowering::changeStreamingMode(), checkNumAlignedDPRCS2Regs(), computeCalleeSaveRegisterPairs(), llvm::AArch64TargetMachine::convertFuncInfoToYAML(), llvm::GCNTargetMachine::convertFuncInfoToYAML(), llvm::ARMBaseTargetMachine::convertFuncInfoToYAML(), llvm::RISCVTargetMachine::convertFuncInfoToYAML(), llvm::WebAssemblyTargetMachine::convertFuncInfoToYAML(), llvm::X86TargetMachine::convertFuncInfoToYAML(), denormalModeIsFlushAllF32(), denormalModeIsFlushAllF64F16(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::CSKYFrameLowering::determineCalleeSaves(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::MipsSEFrameLowering::determineCalleeSaves(), llvm::RISCVFrameLowering::determineCalleeSaves(), llvm::SystemZELFFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSaves(), llvm::M68kFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::SparcFrameLowering::determineCalleeSaves(), llvm::VEFrameLowering::determineCalleeSaves(), llvm::XCoreFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSavesSGPR(), llvm::PPCFrameLowering::determineFrameLayout(), llvm::SIFrameLowering::determinePrologEpilogSGPRSaves(), duplicateCPV(), llvm::ARCFrameLowering::eliminateCallFramePseudoInstr(), llvm::SIFrameLowering::eliminateCallFramePseudoInstr(), llvm::M68kFrameLowering::eliminateCallFramePseudoInstr(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::AArch64RegisterInfo::eliminateFrameIndex(), llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), llvm::ThumbRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::SIRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), llvm::AArch64TargetLowering::EmitAllocateSMESaveBuffer(), llvm::AArch64TargetLowering::EmitAllocateZABuffer(), emitBuildPairF64Pseudo(), llvm::X86FrameLowering::emitCalleeSavedFrameMoves(), llvm::SIFrameLowering::emitCSRSpillRestores(), llvm::SIFrameLowering::emitCSRSpillStores(), emitDefineCFAWithFP(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::SIFrameLowering::emitEpilogue(), llvm::ARCFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::AVRFrameLowering::emitEpilogue(), llvm::CSKYFrameLowering::emitEpilogue(), llvm::LoongArchFrameLowering::emitEpilogue(), llvm::M68kFrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::MSP430FrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::RISCVFrameLowering::emitEpilogue(), llvm::SparcFrameLowering::emitEpilogue(), llvm::SystemZELFFrameLowering::emitEpilogue(), llvm::SystemZXPLINKFrameLowering::emitEpilogue(), llvm::VEFrameLowering::emitEpilogue(), llvm::WebAssemblyFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::XCoreFrameLowering::emitEpilogue(), llvm::VEFrameLowering::emitEpilogueInsns(), llvm::AMDGPUAsmPrinter::emitFunctionBodyEnd(), llvm::AMDGPUAsmPrinter::emitFunctionBodyStart(), llvm::X86AsmPrinter::emitFunctionBodyStart(), llvm::HexagonDAGToDAGISel::emitFunctionEntryCode(), llvm::AMDGPUAsmPrinter::emitFunctionEntryLabel(), llvm::AArch64TargetLowering::EmitGetSMESaveSize(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5::emitHiddenKernelArgs(), llvm::AArch64TargetLowering::EmitInitTPIDR2Object(), llvm::X86AsmPrinter::emitInstruction(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::LoongArchAsmPrinter::emitJumpTableInfo(), emitPACCFI(), llvm::AArch64FrameLowering::emitPrologue(), llvm::SIFrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::AVRFrameLowering::emitPrologue(), llvm::CSKYFrameLowering::emitPrologue(), llvm::LoongArchFrameLowering::emitPrologue(), llvm::M68kFrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::MSP430FrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::RISCVFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::SystemZELFFrameLowering::emitPrologue(), llvm::SystemZXPLINKFrameLowering::emitPrologue(), llvm::VEFrameLowering::emitPrologue(), llvm::WebAssemblyFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::VEFrameLowering::emitPrologueInsns(), emitShadowCallStackEpilogue(), emitSMEStateSaveRestore(), emitSplitF64Pseudo(), emitVGSaveRestore(), llvm::AArch64FrameLowering::enableCFIFixup(), llvm::ARMFrameLowering::enableShrinkWrapping(), llvm::PPCFrameLowering::enableShrinkWrapping(), llvm::AArch64FrameLowering::enableStackSlotScavenging(), estimateRSStackSizeLimit(), ExpandMOVImmSExti8(), llvm::SITargetLowering::finalizeLowering(), fixupFuncForFI(), getADAEntry(), getArgumentStackToRestore(), llvm::AArch64RegisterInfo::getCalleeSavedRegs(), llvm::ARMBaseRegisterInfo::getCalleeSavedRegs(), llvm::HexagonRegisterInfo::getCalleeSavedRegs(), llvm::X86RegisterInfo::getCalleeSavedRegs(), llvm::AVRRegisterInfo::getCalleeSavedRegs(), llvm::AArch64RegisterInfo::getCalleeSavedRegsViaCopy(), llvm::ARMBaseRegisterInfo::getCalleeSavedRegsViaCopy(), llvm::X86RegisterInfo::getCalleeSavedRegsViaCopy(), llvm::ARMFrameLowering::getCalleeSaves(), getCallOpcode(), llvm::AArch64RegisterInfo::getDarwinCalleeSavedRegs(), llvm::WebAssemblyFrameLowering::getDwarfFrameBase(), llvm::X86FrameLowering::getDwarfFrameBase(), llvm::RISCVFrameLowering::getFirstSPAdjustAmount(), getFPOffset(), llvm::CSKYFrameLowering::getFrameIndexReference(), llvm::HexagonFrameLowering::getFrameIndexReference(), llvm::LoongArchFrameLowering::getFrameIndexReference(), llvm::M68kFrameLowering::getFrameIndexReference(), llvm::RISCVFrameLowering::getFrameIndexReference(), llvm::SparcFrameLowering::getFrameIndexReference(), llvm::X86FrameLowering::getFrameIndexReference(), llvm::AArch64FrameLowering::getFrameIndexReferenceFromSP(), llvm::AArch64FrameLowering::getFrameIndexReferencePreferSP(), llvm::X86FrameLowering::getFrameIndexReferencePreferSP(), llvm::SIRegisterInfo::getFrameRegister(), llvm::WebAssemblyRegisterInfo::getFrameRegister(), llvm::MipsDAGToDAGISel::getGlobalBaseReg(), llvm::CSKYInstrInfo::getGlobalBaseReg(), llvm::M68kInstrInfo::getGlobalBaseReg(), llvm::SparcInstrInfo::getGlobalBaseReg(), llvm::VEInstrInfo::getGlobalBaseReg(), llvm::X86InstrInfo::getGlobalBaseReg(), llvm::MipsTargetLowering::getGlobalReg(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::getHSAKernelProps(), llvm::AMDGPUTargetLowering::getImplicitParameterOffset(), llvm::AMDGPURegisterBankInfo::getInstrMapping(), llvm::AArch64InstrInfo::getInstSizeInBytes(), llvm::ARMBaseInstrInfo::getInstSizeInBytes(), getLibCallID(), llvm::SIInstrInfo::getLiveRangeSplitOpcode(), llvm::WebAssemblyFrameLowering::getLocalForStackObject(), llvm::GCNSubtarget::getMaxNumSGPRs(), llvm::SIRegisterInfo::getMaxNumVectorRegs(), llvm::GCNSubtarget::getMaxNumVGPRs(), llvm::AMDGPUSubtarget::getOccupancyWithLocalMemSize(), llvm::SystemZELFFrameLowering::getOrCreateFramePointerSaveIndex(), llvm::SystemZXPLINKFrameLowering::getOrCreateFramePointerSaveIndex(), llvm::AArch64InstrInfo::getOutliningTypeImpl(), getPushOrLibCallsSavedInfo(), llvm::ARMSubtarget::getPushPopSplitVariation(), llvm::SIRegisterInfo::getRegPressureLimit(), llvm::GCNSubtarget::getReservedNumSGPRs(), llvm::SIRegisterInfo::getReservedRegs(), llvm::HexagonRegisterInfo::getReservedRegs(), llvm::MipsRegisterInfo::getReservedRegs(), llvm::PPCRegisterInfo::getReservedRegs(), llvm::X86RegisterInfo::getReservedRegs(), llvm::MSP430TargetLowering::getReturnAddressFrameIndex(), llvm::X86TargetLowering::getReturnAddressFrameIndex(), llvm::RISCVFrameLowering::getStackSizeWithRVVPadding(), getSVEStackSize(), GetSymbolRef(), llvm::SITargetLowering::getTgtMemIntrinsic(), getVGPRSpillLaneOrTempRegister(), llvm::SIRegisterInfo::getVRegFlagsOfReg(), llvm::X86FrameLowering::getWin64EHFrameIndexRef(), llvm::AArch64FrameLowering::getWinEHFuncletFrameSize(), llvm::X86FrameLowering::getWinEHParentFrameOffset(), getzOSCalleeAndADA(), handleMustTailForwardedRegisters(), llvm::AArch64RegisterInfo::hasBasePointer(), llvm::ARMBaseRegisterInfo::hasBasePointer(), llvm::X86RegisterInfo::hasBasePointer(), llvm::SIFrameLowering::hasFPImpl(), llvm::AVRFrameLowering::hasFPImpl(), llvm::HexagonFrameLowering::hasFPImpl(), llvm::X86FrameLowering::hasFPImpl(), llvm::VEFrameLowering::hasGOT(), llvm::AArch64TargetLowering::hasInlineStackProbe(), hasNonRISpills(), llvm::M68kFrameLowering::hasReservedCallFrame(), llvm::X86FrameLowering::hasReservedCallFrame(), llvm::PPCRegisterInfo::hasReservedSpillSlot(), hasSpills(), indirectCopyToAGPR(), llvm::GCNSchedStrategy::initialize(), llvm::ARMBaseInstrInfo::insertBranch(), llvm::XtensaInstrInfo::insertIndirectBranch(), llvm::AArch64InstrInfo::insertIndirectBranch(), llvm::SIInstrInfo::insertIndirectBranch(), llvm::LoongArchInstrInfo::insertIndirectBranch(), llvm::RISCVInstrInfo::insertIndirectBranch(), llvm::SIInstrInfo::isBasicBlockPrologue(), llvm::SITargetLowering::isEligibleForTailCallOptimization(), llvm::AArch64InstrInfo::isFunctionSafeToOutlineFrom(), llvm::ARMBaseInstrInfo::isFunctionSafeToOutlineFrom(), llvm::X86InstrInfo::isFunctionSafeToOutlineFrom(), llvm::AArch64InstrInfo::isFunctionSafeToSplit(), llvm::SITargetLowering::isKnownNeverNaNForTargetNode(), llvm::ARMBaseInstrInfo::isPredicable(), isSignExtendedW(), llvm::PPCInstrInfo::isSignOrZeroExtended(), llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(), llvm::AMDGPULegalizerInfo::legalizeFMad(), llvm::AMDGPULegalizerInfo::legalizeGlobalValue(), llvm::AMDGPULegalizerInfo::legalizeMinNumMaxNum(), llvm::SIInstrInfo::loadRegFromStackSlot(), llvm::CSKYInstrInfo::loadRegFromStackSlot(), llvm::SITargetLowering::LowerCall(), llvm::AArch64CallLowering::lowerCall(), llvm::AMDGPUCallLowering::lowerCall(), llvm::MipsCallLowering::lowerCall(), llvm::AMDGPUTargetLowering::LowerDIVREM24(), llvm::SITargetLowering::LowerDYNAMIC_STACKALLOC(), llvm::HexagonTargetLowering::LowerEH_RETURN(), llvm::AMDGPUCallLowering::lowerFormalArguments(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::X86CallLowering::lowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::LoongArchTargetLowering::LowerFormalArguments(), llvm::RISCVTargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::VETargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), llvm::AMDGPUCallLowering::lowerFormalArgumentsKernel(), llvm::HexagonTargetLowering::LowerINLINEASM(), LowerINTRINSIC_W_CHAIN(), llvm::R600TargetLowering::LowerOperation(), llvm::SITargetLowering::LowerOperation(), llvm::AMDGPUCallLowering::lowerReturn(), llvm::X86CallLowering::lowerReturn(), llvm::SITargetLowering::LowerReturn(), llvm::RISCVTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::AArch64MCInstLower::lowerSymbolOperandELF(), llvm::AMDGPUCallLowering::lowerTailCall(), LowerToTLSLocalDynamicModel(), llvm::AMDGPUTargetLowering::LowerUDIVREM64(), LowerVASTART(), llvm::HexagonTargetLowering::LowerVASTART(), llvm::LanaiTargetLowering::LowerVASTART(), llvm::MSP430TargetLowering::LowerVASTART(), llvm::VETargetLowering::lowerVASTART(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), MustSaveLR(), llvm::AArch64FunctionInfo::needsAsyncDwarfUnwindInfo(), llvm::PPCFrameLowering::needsFP(), llvm::ARMBaseRegisterInfo::needsFrameBaseReg(), llvm::M68kFrameLowering::needsFrameIndexResolution(), llvm::X86FrameLowering::needsFrameIndexResolution(), llvm::AArch64FrameLowering::orderFrameObjects(), outliningCandidatesSigningKeyConsensus(), outliningCandidatesSigningScopeConsensus(), llvm::AMDGPUMIRFormatter::parseCustomPseudoSourceValue(), llvm::AArch64TargetMachine::parseMachineFunctionInfo(), llvm::GCNTargetMachine::parseMachineFunctionInfo(), llvm::ARMBaseTargetMachine::parseMachineFunctionInfo(), llvm::RISCVTargetMachine::parseMachineFunctionInfo(), llvm::WebAssemblyTargetMachine::parseMachineFunctionInfo(), llvm::X86TargetMachine::parseMachineFunctionInfo(), llvm::AMDGPUCallLowering::passSpecialInputs(), popRegsFromStack(), llvm::AArch64InstrInfo::probedStackAlloc(), llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized(), llvm::LoongArchFrameLowering::processFunctionBeforeFrameFinalized(), llvm::RISCVFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SystemZELFFrameLowering::processFunctionBeforeFrameFinalized(), llvm::XtensaFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(), llvm::HexagonFrameLowering::processFunctionBeforeFrameFinalized(), llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized(), llvm::XCoreFrameLowering::processFunctionBeforeFrameFinalized(), llvm::X86FrameLowering::processFunctionBeforeFrameIndicesReplaced(), llvm::SIFrameLowering::processFunctionBeforeFrameIndicesReplaced(), produceCompactUnwindFrame(), promoteToConstantPool(), llvm::GCNTargetMachine::registerMachineRegisterInfoCallback(), llvm::Thumb2InstrInfo::ReplaceTailWithBranchTo(), requiresGetVGCall(), llvm::SIRegisterInfo::requiresRegisterScavenging(), requiresSaveVG(), llvm::SIFrameLowering::requiresStackPointerReference(), llvm::AArch64FrameLowering::resetCFIToInitialState(), llvm::ARMBaseRegisterInfo::resolveFrameIndex(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), llvm::AArch64FrameLowering::resolveFrameOffsetReference(), llvm::SystemZELFFrameLowering::restoreCalleeSavedRegisters(), llvm::SystemZXPLINKFrameLowering::restoreCalleeSavedRegisters(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), llvm::ARMFrameLowering::restoreCalleeSavedRegisters(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), llvm::PPCFrameLowering::restoreCalleeSavedRegisters(), llvm::RISCVFrameLowering::restoreCalleeSavedRegisters(), llvm::X86FrameLowering::restoreCalleeSavedRegisters(), llvm::restoreStatusRegister(), llvm::X86FrameLowering::restoreWin32EHStackPointers(), llvm::ARMAsmPrinter::runOnMachineFunction(), llvm::AMDGPUAsmPrinter::runOnMachineFunction(), llvm::R600AsmPrinter::runOnMachineFunction(), llvm::AVRFrameAnalyzer::runOnMachineFunction(), llvm::M68kAsmPrinter::runOnMachineFunction(), llvm::MipsAsmPrinter::runOnMachineFunction(), llvm::WebAssemblyAsmPrinter::runOnMachineFunction(), llvm::GCNIterativeScheduler::scheduleILP(), llvm::GCNIterativeScheduler::scheduleLegacyMaxOccupancy(), llvm::GCNIterativeScheduler::scheduleMinReg(), llvm::HexagonDAGToDAGISel::SelectFrameIndex(), setUsesTOCBasePtr(), llvm::SIInstrInfo::shouldClusterMemOps(), llvm::SIRegisterInfo::shouldRealignStack(), llvm::SystemZELFFrameLowering::spillCalleeSavedRegisters(), llvm::SystemZXPLINKFrameLowering::spillCalleeSavedRegisters(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::ARMFrameLowering::spillCalleeSavedRegisters(), llvm::AVRFrameLowering::spillCalleeSavedRegisters(), llvm::MSP430FrameLowering::spillCalleeSavedRegisters(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), llvm::RISCVFrameLowering::spillCalleeSavedRegisters(), llvm::X86FrameLowering::spillCalleeSavedRegisters(), llvm::XCoreFrameLowering::spillCalleeSavedRegisters(), llvm::X86FrameLowering::spillFPBP(), spillsCR(), spillVGPRtoAGPR(), llvm::SIInstrInfo::storeRegToStackSlot(), llvm::AVRInstrInfo::storeRegToStackSlot(), llvm::CSKYInstrInfo::storeRegToStackSlot(), llvm::AMDGPUTargetLowering::storeStackInputValue(), llvm::SITargetLowering::supportSplitCSR(), llvm::GCNIterativeScheduler::tryMaximizeOccupancy(), unpackFromRegLoc(), unstackifyVRegsUsedInSplitBB(), updateForAIXShLibTLSModelOpt(), llvm::AArch64RegisterInfo::useFPForScavengingIndex(), and windowsRequiresStackProbe().
|
inline |
Definition at line 827 of file MachineFunction.h.
|
inline |
Returns the collection of variables for which we have debug info and that have been assigned a stack slot.
Definition at line 1365 of file MachineFunction.h.
References llvm::make_filter_range().
Referenced by llvm::MIRPrinter::convertStackObjects().
|
inline |
Returns the collection of variables for which we have debug info and that have been assigned a stack slot.
Definition at line 1373 of file MachineFunction.h.
References llvm::make_filter_range().
|
inline |
Return the number of MachineInstrs
in this MachineFunction
.
Definition at line 981 of file MachineFunction.h.
References InstrCount, and MBB.
MCSymbol * MachineFunction::getJTISymbol | ( | unsigned | JTI, |
MCContext & | Ctx, | ||
bool | isLinkerPrivate = false |
||
) | const |
getJTISymbol - Return the MCSymbol for the specified non-empty jump table.
Return the MCSymbol for the specified non-empty jump table.
If isLinkerPrivate is specified, an 'l' label is returned, otherwise a normal 'L' label is returned.
Definition at line 787 of file MachineFunction.cpp.
References assert(), DL, getDataLayout(), getFunctionNumber(), llvm::MCContext::getOrCreateSymbol(), Name, and size().
Referenced by llvm::AsmPrinter::GetJTISymbol(), llvm::TargetLowering::getPICJumpTableRelocBaseExpr(), and llvm::M68kTargetLowering::getPICJumpTableRelocBaseExpr().
|
inline |
Definition at line 748 of file MachineFunction.h.
|
inline |
getJumpTableInfo - Return the jump table info object for the current function.
This object contains information about jump tables in the current function. If the current function has no jump tables, this will return null.
Definition at line 747 of file MachineFunction.h.
Referenced by llvm::ARMAsmPrinter::emitJumpTableAddrs(), llvm::AsmPrinter::emitJumpTableInfo(), llvm::ARMAsmPrinter::emitJumpTableInsts(), llvm::ARMAsmPrinter::emitJumpTableTBInst(), EstimateFunctionSizeInBytes(), forEachJumpTableBranch(), llvm::AArch64InstrInfo::isMBBSafeToSplitToCold(), jumpTableHasOtherUses(), llvm::BranchFolder::OptimizeFunction(), llvm::MIRPrinter::print(), GCEmptyBasicBlocks::runOnMachineFunction(), and llvm::MachineBasicBlock::SplitCriticalEdge().
|
inline |
Return a reference to the landing pad info for the current function.
Definition at line 1241 of file MachineFunction.h.
Referenced by llvm::SystemZXPLINKFrameLowering::assignCalleeSavedSpillSlots(), llvm::DwarfCFIException::beginFunction(), llvm::WinException::beginFunction(), llvm::SystemZELFFrameLowering::determineCalleeSaves(), llvm::M68kFrameLowering::eliminateCallFramePseudoInstr(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::EHStreamer::emitExceptionTable(), llvm::ARMException::endFunction(), llvm::WasmException::endFunction(), needFuncLabels(), and llvm::TargetLoweringObjectFileXCOFF::ShouldEmitEHBlock().
Returns a reference to a list of symbols immediately following calls to _setjmp in the function.
Used to construct the longjmp target table used by Windows Control Flow Guard.
Definition at line 1175 of file MachineFunction.h.
Referenced by llvm::WinCFGuard::endFunction().
MachineMemOperand * MachineFunction::getMachineMemOperand | ( | const MachineMemOperand * | MMO, |
const AAMDNodes & | AAInfo | ||
) |
Allocate a new MachineMemOperand by copying an existing one, replacing only AliasAnalysis information.
MachineMemOperands are owned by the MachineFunction and need not be explicitly deallocated.
Definition at line 588 of file MachineFunction.cpp.
References llvm::MachineMemOperand::getBaseAlign(), llvm::MachineMemOperand::getFailureOrdering(), llvm::MachineMemOperand::getFlags(), llvm::MachineMemOperand::getOffset(), llvm::MachineMemOperand::getPseudoValue(), llvm::MachineMemOperand::getRanges(), llvm::MachineMemOperand::getSize(), llvm::MachineMemOperand::getSuccessOrdering(), llvm::MachineMemOperand::getSyncScopeID(), and llvm::MachineMemOperand::getValue().
MachineMemOperand * MachineFunction::getMachineMemOperand | ( | const MachineMemOperand * | MMO, |
const MachinePointerInfo & | PtrInfo, | ||
LLT | Ty | ||
) |
MachineMemOperand * MachineFunction::getMachineMemOperand | ( | const MachineMemOperand * | MMO, |
const MachinePointerInfo & | PtrInfo, | ||
LocationSize | Size | ||
) |
getMachineMemOperand - Allocate a new MachineMemOperand by copying an existing one, replacing only the MachinePointerInfo and size.
MachineMemOperands are owned by the MachineFunction and need not be explicitly deallocated.
Definition at line 547 of file MachineFunction.cpp.
References assert(), llvm::MachineMemOperand::getBaseAlign(), llvm::MachineMemOperand::getFailureOrdering(), llvm::MachineMemOperand::getFlags(), llvm::MachineMemOperand::getSuccessOrdering(), llvm::MachineMemOperand::getSyncScopeID(), and Size.
|
inline |
Definition at line 1099 of file MachineFunction.h.
References getMachineMemOperand(), and Size.
MachineMemOperand * MachineFunction::getMachineMemOperand | ( | const MachineMemOperand * | MMO, |
int64_t | Offset, | ||
LLT | Ty | ||
) |
getMachineMemOperand - Allocate a new MachineMemOperand by copying an existing one, adjusting by an offset and using the given size.
MachineMemOperands are owned by the MachineFunction and need not be explicitly deallocated.
Definition at line 569 of file MachineFunction.cpp.
References llvm::commonAlignment(), llvm::MachineMemOperand::getAAInfo(), llvm::MachineMemOperand::getBaseAlign(), llvm::MachineMemOperand::getFailureOrdering(), llvm::MachineMemOperand::getFlags(), llvm::MachineMemOperand::getPointerInfo(), llvm::MachineMemOperand::getSuccessOrdering(), llvm::MachineMemOperand::getSyncScopeID(), llvm::MachinePointerInfo::getWithOffset(), llvm::PointerUnion< PTs >::isNull(), llvm::Offset, and llvm::MachinePointerInfo::V.
|
inline |
Definition at line 1075 of file MachineFunction.h.
References getMachineMemOperand(), Offset, and Size.
|
inline |
Definition at line 1084 of file MachineFunction.h.
References getMachineMemOperand(), Offset, and Size.
MachineMemOperand * MachineFunction::getMachineMemOperand | ( | const MachineMemOperand * | MMO, |
MachineMemOperand::Flags | Flags | ||
) |
Allocate a new MachineMemOperand by copying an existing one, replacing the flags.
MachineMemOperands are owned by the MachineFunction and need not be explicitly deallocated.
Definition at line 601 of file MachineFunction.cpp.
References llvm::MachineMemOperand::getAAInfo(), llvm::MachineMemOperand::getBaseAlign(), llvm::MachineMemOperand::getFailureOrdering(), llvm::MachineMemOperand::getPointerInfo(), llvm::MachineMemOperand::getRanges(), llvm::MachineMemOperand::getSize(), llvm::MachineMemOperand::getSuccessOrdering(), and llvm::MachineMemOperand::getSyncScopeID().
MachineMemOperand * MachineFunction::getMachineMemOperand | ( | MachinePointerInfo | PtrInfo, |
MachineMemOperand::Flags | f, | ||
LLT | MemTy, | ||
Align | base_alignment, | ||
const AAMDNodes & | AAInfo = AAMDNodes() , |
||
const MDNode * | Ranges = nullptr , |
||
SyncScope::ID | SSID = SyncScope::System , |
||
AtomicOrdering | Ordering = AtomicOrdering::NotAtomic , |
||
AtomicOrdering | FailureOrdering = AtomicOrdering::NotAtomic |
||
) |
getMachineMemOperand - Allocate a new MachineMemOperand.
MachineMemOperands are owned by the MachineFunction and need not be explicitly deallocated.
Definition at line 536 of file MachineFunction.cpp.
Referenced by llvm::addFrameReference(), addFrameReference(), llvm::M68k::addFrameReference(), llvm::M68k::addMemOperand(), llvm::AMDGPURegisterBankInfo::applyMappingSBufferLoad(), llvm::CombinerHelper::applySextInRegOfLoad(), M68kOutgoingArgHandler::assignValueToAddress(), buildEpilogRestore(), llvm::X86TargetLowering::BuildFILD(), llvm::MachineIRBuilder::buildLoad(), llvm::MachineIRBuilder::buildLoadFromOffset(), buildPrologSpill(), llvm::SIRegisterInfo::buildSpillLoadStore(), llvm::MachineIRBuilder::buildStore(), llvm::SIRegisterInfo::buildVGPRSpillLoadStore(), combineI8TruncStore(), combineV3I8LoadExt(), llvm::CallLowering::ValueHandler::copyArgumentMemory(), llvm::FastISel::createMachineMemOperandFor(), emitBuildPairF64Pseudo(), emitLoadFromConstantPool(), llvm::AArch64SelectionDAGInfo::EmitMOPS(), llvm::TargetLoweringBase::emitPatchPoint(), llvm::X86FrameLowering::emitPrologue(), emitSplitF64Pseudo(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForSetTag(), EmitUnrolledSetTag(), expandLoadStackGuard(), llvm::ARMBaseInstrInfo::expandLoadStackGuardBase(), llvm::HexagonInstrInfo::expandPostRAPseudo(), extractLoadMMOs(), extractStoreMMOs(), foldInlineAsmMemOperand(), llvm::TargetInstrInfo::foldMemoryOperand(), getBROADCAST_LOAD(), getFrameIndexMMO(), llvm::CSKYInstrInfo::getGlobalBaseReg(), llvm::SelectionDAG::getLoad(), getLoadStackGuard(), llvm::SelectionDAG::getLoadVP(), getMachineMemOperand(), llvm::SelectionDAG::getMemIntrinsicNode(), llvm::MipsInstrInfo::GetMemOperand(), llvm::AMDGPULegalizerInfo::getSegmentAperture(), getStackAlignedMMO(), llvm::SelectionDAG::getStore(), llvm::SelectionDAG::getTruncStore(), llvm::SelectionDAG::getTruncStoreVP(), llvm::SystemZELFFrameLowering::inlineStackProbe(), llvm::CallLowering::insertSRetLoads(), llvm::CallLowering::insertSRetStores(), llvm::MipsLegalizerInfo::legalizeCustom(), llvm::AMDGPULegalizerInfo::legalizeGlobalValue(), llvm::AArch64LegalizerInfo::legalizeIntrinsic(), llvm::RISCVLegalizerInfo::legalizeIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeLoad(), llvm::AMDGPULegalizerInfo::legalizeSBufferLoad(), llvm::AMDGPULegalizerInfo::legalizeTrapHsaQueuePtr(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::HexagonInstrInfo::loadRegFromStackSlot(), llvm::SparcInstrInfo::loadRegFromStackSlot(), llvm::VEInstrInfo::loadRegFromStackSlot(), llvm::LoongArchInstrInfo::loadRegFromStackSlot(), llvm::RISCVInstrInfo::loadRegFromStackSlot(), llvm::MSP430InstrInfo::loadRegFromStackSlot(), llvm::SIInstrInfo::loadRegFromStackSlot(), llvm::ARCInstrInfo::loadRegFromStackSlot(), llvm::AVRInstrInfo::loadRegFromStackSlot(), llvm::CSKYInstrInfo::loadRegFromStackSlot(), llvm::XCoreInstrInfo::loadRegFromStackSlot(), llvm::PPCInstrInfo::loadRegFromStackSlotNoUpd(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::LegalizerHelper::lowerLoad(), lowerShuffleAsBroadcast(), llvm::LegalizerHelper::lowerStore(), llvm::HexagonTargetLowering::LowerUnalignedLoad(), llvm::LegalizerHelper::lowerVAArg(), lowerVECTOR_SHUFFLE(), llvm::CombinerHelper::matchCombineExtractedVectorLoad(), llvm::CombinerHelper::matchLoadOrCombine(), narrowExtractedVectorLoad(), performCONCAT_VECTORSCombine(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::LegalizerHelper::reduceLoadStoreWidth(), llvm::SIInstrInfo::reMaterialize(), llvm::SITargetLowering::ReplaceNodeResults(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), llvm::LegalizerHelper::scalarizeVectorBooleanStore(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::AArch64InstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::LoongArchInstrInfo::storeRegToStackSlot(), llvm::RISCVInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::VEInstrInfo::storeRegToStackSlot(), llvm::SIInstrInfo::storeRegToStackSlot(), llvm::ARCInstrInfo::storeRegToStackSlot(), llvm::AVRInstrInfo::storeRegToStackSlot(), llvm::CSKYInstrInfo::storeRegToStackSlot(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::PPCInstrInfo::storeRegToStackSlotNoUpd(), tryMemPairCombine(), and llvm::LegalizerHelper::widenScalar().
MachineMemOperand * MachineFunction::getMachineMemOperand | ( | MachinePointerInfo | PtrInfo, |
MachineMemOperand::Flags | F, | ||
LocationSize | Size, | ||
Align | BaseAlignment, | ||
const AAMDNodes & | AAInfo = AAMDNodes() , |
||
const MDNode * | Ranges = nullptr , |
||
SyncScope::ID | SSID = SyncScope::System , |
||
AtomicOrdering | Ordering = AtomicOrdering::NotAtomic , |
||
AtomicOrdering | FailureOrdering = AtomicOrdering::NotAtomic |
||
) |
Definition at line 522 of file MachineFunction.cpp.
|
inline |
Definition at line 1058 of file MachineFunction.h.
References F, getMachineMemOperand(), and Size.
StringRef MachineFunction::getName | ( | ) | const |
getName - Return the name of the corresponding LLVM function.
Definition at line 645 of file MachineFunction.cpp.
References getFunction(), and llvm::Value::getName().
Referenced by llvm::ARMBasicBlockUtils::adjustBBOffsetsAfter(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), llvm::DebugHandlerBase::beginFunction(), llvm::VirtRegAuxInfo::calculateSpillWeightsAndHints(), llvm::Combiner::combineMachineInstrs(), llvm::ARCFrameLowering::determineCalleeSaves(), llvm::ARCFrameLowering::eliminateCallFramePseudoInstr(), llvm::ARCRegisterInfo::eliminateFrameIndex(), llvm::MipsRegisterInfo::eliminateFrameIndex(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::ARCFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), emitErrorMsg(), llvm::AsmPrinter::emitFunctionBody(), llvm::AMDGPUAsmPrinter::emitFunctionBodyStart(), llvm::AMDGPUAsmPrinter::emitFunctionEntryLabel(), llvm::X86AsmPrinter::emitKCFITypeId(), llvm::ARCFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::VEFrameLowering::emitPrologue(), llvm::VETargetLowering::emitSjLjDispatchBlock(), llvm::AsmPrinter::emitStackUsage(), llvm::MachineBasicBlock::getFullName(), llvm::DOTGraphTraits< DOTMachineFuncInfo * >::getGraphName(), getIRFileDisplayName(), llvm::TargetLoweringObjectFileELF::getSectionForMachineBasicBlock(), llvm::MachineBasicBlock::getSymbol(), llvm::GCNSchedStage::initGCNRegion(), INITIALIZE_PASS(), llvm::MIRParserImpl::initializeCallSiteInfo(), llvm::AArch64InstrInfo::insertOutlinedCall(), llvm::ARMBaseInstrInfo::insertOutlinedCall(), llvm::RISCVInstrInfo::insertOutlinedCall(), llvm::X86InstrInfo::insertOutlinedCall(), llvm::VETargetLowering::LowerCustomJumpTableEntry(), llvm::MLPriorityAdvisor::MLPriorityAdvisor(), llvm::MIRParserImpl::parseCalledGlobals(), llvm::MIRPrinter::print(), llvm::MachineCycleInfoWrapperPass::print(), print(), llvm::ARCFrameLowering::processFunctionBeforeFrameFinalized(), llvm::VerifyInstrumentation::registerCallbacks(), reportFastISelFailure(), reportGISelDiagnostic(), llvm::PPCRegisterInfo::requiresFrameIndexScavenging(), llvm::ARCFrameLowering::restoreCalleeSavedRegisters(), llvm::LiveIntervalsPrinterPass::run(), llvm::LiveVariablesPrinterPass::run(), llvm::MachineBlockFrequencyPrinterPass::run(), llvm::MachineBranchProbabilityPrinterPass::run(), llvm::MachineDominatorTreePrinterPass::run(), llvm::MachineLoopPrinterPass::run(), llvm::MachinePostDominatorTreePrinterPass::run(), llvm::SlotIndexesPrinterPass::run(), llvm::ThunkInserter< Derived, InsertedThunksTy >::run(), llvm::Legalizer::runOnMachineFunction(), llvm::LoadStoreOpt::runOnMachineFunction(), llvm::Localizer::runOnMachineFunction(), llvm::RegBankSelect::runOnMachineFunction(), GCEmptyBasicBlocks::runOnMachineFunction(), llvm::RAGreedy::runOnMachineFunction(), llvm::GCNRegPressurePrinter::runOnMachineFunction(), llvm::ARMBlockPlacement::runOnMachineFunction(), llvm::LiveDebugVariables::LDVImpl::runOnMachineFunction(), llvm::VLIWMachineScheduler::schedule(), llvm::InstructionSelect::selectMachineFunction(), llvm::MIRParserImpl::setupRegisterInfo(), shouldGenerateData(), llvm::ARCFrameLowering::spillCalleeSavedRegisters(), llvm::DbgValueHistoryMap::trimLocationRanges(), updateForAIXShLibTLSModelOpt(), viewCFG(), viewCFGOnly(), writeGadgetGraph(), and writeMCFGToDotFile().
|
inline |
Definition at line 1416 of file MachineFunction.h.
Referenced by llvm::MachineInstr::getDebugInstrNum().
|
inline |
getNumBlockIDs - Return the number of MBB ID's allocated.
Definition at line 867 of file MachineFunction.h.
Referenced by llvm::ARMBasicBlockUtils::adjustBBOffsetsAfter(), llvm::ARMBasicBlockUtils::computeAllBlockSizes(), llvm::HexagonFrameLowering::emitPrologue(), llvm::ReachingDefAnalysis::init(), llvm::MachineTraceMetrics::init(), llvm::LiveRangeCalc::isJointlyDominated(), maybeUpdateTerminator(), llvm::LiveRangeCalc::resetLiveOutMap(), llvm::CFIFixup::runOnMachineFunction(), llvm::ExecutionDomainFix::runOnMachineFunction(), llvm::sortBasicBlocksAndUpdateBranches(), sortBlocks(), llvm::ReachingDefAnalysis::traverse(), llvm::LoopTraversal::traverse(), and llvm::MachineTraceMetrics::verifyAnalysis().
|
inline |
Definition at line 679 of file MachineFunction.h.
Referenced by llvm::constrainOperandRegClass().
MachineJumpTableInfo * MachineFunction::getOrCreateJumpTableInfo | ( | unsigned | EntryKind | ) |
getOrCreateJumpTableInfo - Get the JumpTableInfo for this function, if it does already exist, allocate one.
Get the JumpTableInfo for this function.
If it does not already exist, allocate one.
Definition at line 315 of file MachineFunction.cpp.
Referenced by llvm::SwitchCG::SwitchLowering::buildJumpTable(), llvm::VETargetLowering::emitSjLjDispatchBlock(), and llvm::MIRParserImpl::initializeJumpTableInfo().
LandingPadInfo & MachineFunction::getOrCreateLandingPadInfo | ( | MachineBasicBlock * | LandingPad | ) |
Find or create an LandingPadInfo for the specified MachineBasicBlock.
Definition at line 812 of file MachineFunction.cpp.
References llvm::LandingPadInfo::LandingPadBlock, and N.
Referenced by addInvoke(), and addLandingPad().
MCSymbol * MachineFunction::getPICBaseSymbol | ( | ) | const |
getPICBaseSymbol - Return a function-local symbol to represent the PIC base.
Return a function-local symbol to represent the PIC base.
Definition at line 802 of file MachineFunction.cpp.
References DL, getDataLayout(), getFunctionNumber(), and llvm::MCContext::getOrCreateSymbol().
Referenced by llvm::X86AsmPrinter::emitInstruction(), llvm::PPCTargetLowering::getPICJumpTableRelocBaseExpr(), llvm::X86TargetLowering::getPICJumpTableRelocBaseExpr(), and GetSymbolRef().
|
inline |
Definition at line 816 of file MachineFunction.h.
|
inline |
Get the function properties.
Definition at line 815 of file MachineFunction.h.
Referenced by llvm::VirtRegMap::assignVirt2Phys(), llvm::Combiner::combineMachineInstrs(), createFrameHelperMachineFunction(), createPHIsForSelects(), llvm::ThunkInserter< Derived, InsertedThunksTy >::createThunkFunction(), llvm::TargetInstrInfo::describeLoadedValue(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::RegAllocBase::getErrorAssignment(), llvm::AArch64RegisterInfo::getReservedRegs(), llvm::MIRParserImpl::initializeMachineFunction(), llvm::MachineRegisterInfo::invalidateLiveness(), llvm::MachineRegisterInfo::isSSA(), llvm::MachineRegisterInfo::leaveSSA(), llvm::MachineBasicBlock::liveout_begin(), llvm::MIRPrinter::print(), print(), llvm::reportGISelFailure(), llvm::MachineVerifierPass::run(), llvm::SelectionDAGISelPass::run(), runFixI1Copies(), llvm::InstructionSelect::runOnMachineFunction(), llvm::Legalizer::runOnMachineFunction(), llvm::LoadStoreOpt::runOnMachineFunction(), llvm::Localizer::runOnMachineFunction(), llvm::RegBankSelect::runOnMachineFunction(), llvm::SelectionDAGISelLegacy::runOnMachineFunction(), llvm::scavengeFrameVirtualRegs(), llvm::InstructionSelect::selectMachineFunction(), and llvm::MachineRegisterInfo::tracksLiveness().
|
inline |
Definition at line 689 of file MachineFunction.h.
Referenced by llvm::MipsFunctionInfo::callPtrInfo(), llvm::MachinePointerInfo::getConstantPool(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachinePointerInfo::getGOT(), llvm::MachinePointerInfo::getJumpTable(), and llvm::MachinePointerInfo::getStack().
|
inline |
getRegInfo - Return information about the registers currently in use.
Definition at line 734 of file MachineFunction.h.
Referenced by addCalleeSavedRegs(), addConstantsToTrack(), addImplicitDefs(), llvm::RegsForValue::AddInlineAsmOperands(), addLiveIn(), llvm::MachineBasicBlock::addLiveIn(), addLiveIn(), llvm::addLiveIns(), llvm::ilist_callback_traits< MachineBasicBlock >::addNodeToList(), AdjustBaseAndOffset(), llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::SITargetLowering::AdjustInstrPostInstrSelection(), llvm::RISCVRegisterInfo::adjustReg(), llvm::XtensaInstrInfo::adjustStackPtr(), llvm::SITargetLowering::allocateHSAUserSGPRs(), allocateHSAUserSGPRs(), llvm::SITargetLowering::allocateSpecialEntryInputVGPRs(), allocateVGPR32Input(), llvm::SIMachineFunctionInfo::allocateVGPRSpillToAGPR(), llvm::ARMBaseInstrInfo::analyzeLoopForPipelining(), llvm::PPCInstrInfo::analyzeLoopForPipelining(), llvm::RISCVInstrInfo::analyzeLoopForPipelining(), llvm::MipsRegisterBankInfo::applyMappingImpl(), llvm::AMDGPUCallLowering::areCalleeOutgoingArgsTailCallable(), llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(), llvm::VirtRegMap::assignVirt2StackSlot(), attachMEMCPYScratchRegs(), attemptDebugCopyProp(), llvm::buildAtomicRMWInst(), buildGitPtr(), buildScratchExecCopy(), llvm::SIRegisterInfo::buildSpillLoadStore(), llvm::VirtRegAuxInfo::calculateSpillWeightsAndHints(), llvm::ModuloScheduleExpanderMVE::canApply(), canCombine(), canCombineFPFusedMultiply(), canCompareBeNewValueJump(), llvm::AArch64InstrInfo::canFoldIntoAddrMode(), llvm::AArch64InstrInfo::canInsertSelect(), llvm::PPCInstrInfo::canInsertSelect(), llvm::SystemZInstrInfo::canInsertSelect(), llvm::X86InstrInfo::canInsertSelect(), llvm::SIInstrInfo::canInsertSelect(), llvm::ARMBaseRegisterInfo::canRealignStack(), llvm::LoongArchRegisterInfo::canRealignStack(), llvm::M68kRegisterInfo::canRealignStack(), llvm::MipsRegisterInfo::canRealignStack(), llvm::X86RegisterInfo::canRealignStack(), llvm::AArch64FrameLowering::canUseAsPrologue(), llvm::checkVOPDRegConstraints(), llvm::X86InstrInfo::classifyLEAReg(), cloneInstr(), combineFPFusedMultiply(), llvm::HexagonBlockRanges::computeDeadMap(), llvm::computeLiveIns(), computeLiveOuts(), llvm::constrainSelectedInstRegOperands(), llvm::PPCInstrInfo::convertToImmediateForm(), llvm::SIInstrInfo::convertToThreeAddress(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::NVPTXInstrInfo::copyPhysReg(), llvm::WebAssemblyInstrInfo::copyPhysReg(), llvm::AllocationOrder::create(), llvm::SwiftErrorValueTracking::createEntriesInEntryBlock(), createFrameHelperMachineFunction(), llvm::AMDGPUTargetLowering::CreateLiveInRegister(), createPostIncLoadStore(), createTypeVReg(), llvm::HexagonInstrInfo::createVR(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::CSKYFrameLowering::determineCalleeSaves(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), llvm::XCoreFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSavesSGPR(), llvm::SIFrameLowering::determinePrologEpilogSGPRSaves(), llvm::AArch64FrameLowering::eliminateCallFramePseudoInstr(), llvm::AArch64RegisterInfo::eliminateFrameIndex(), llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), llvm::ThumbRegisterInfo::eliminateFrameIndex(), llvm::HexagonRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::CSKYRegisterInfo::eliminateFrameIndex(), llvm::SystemZRegisterInfo::eliminateFrameIndex(), llvm::LoongArchRegisterInfo::eliminateFrameIndex(), llvm::RISCVRegisterInfo::eliminateFrameIndex(), llvm::WebAssemblyRegisterInfo::eliminateFrameIndex(), llvm::AArch64TargetLowering::EmitAllocateZABuffer(), llvm::LiveDebugVariables::LDVImpl::emitDebugValues(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::SystemZTargetLowering::emitEHSjLjLongJmp(), llvm::VETargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::SystemZTargetLowering::emitEHSjLjSetJmp(), llvm::VETargetLowering::emitEHSjLjSetJmp(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::SIFrameLowering::emitEpilogue(), llvm::WebAssemblyFrameLowering::emitEpilogue(), emitFrameOffsetAdj(), emitFROUND(), llvm::SITargetLowering::emitGWSMemViolTestLoop(), emitIndirectDst(), emitIndirectSrc(), llvm::R600TargetLowering::EmitInstrWithCustomInserter(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::AArch64InstrInfo::emitLdStWithAddr(), llvm::PPCTargetLowering::emitProbedAlloca(), llvm::SIFrameLowering::emitPrologue(), llvm::AVRFrameLowering::emitPrologue(), llvm::CSKYFrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::NVPTXFrameLowering::emitPrologue(), llvm::RISCVFrameLowering::emitPrologue(), llvm::WebAssemblyFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), emitPseudoCTPOP(), emitPseudoXVINSGR2VR(), emitQuietFCMP(), emitReadCounterWidePseudo(), llvm::VETargetLowering::emitSjLjDispatchBlock(), emitThumbRegPlusImmInReg(), emitVecCondBranchPseudo(), emitVFROUND_NOEXCEPT_MASK(), emitXBegin(), llvm::SIInstrInfo::enforceOperandRCAlignment(), llvm::GIMatchTableExecutor::executeMatchTable(), llvm::SIInstrInfo::expandMovDPP64(), llvm::SIInstrInfo::expandPostRAPseudo(), llvm::HexagonInstrInfo::expandPostRAPseudo(), extractRsrcPtr(), llvm::PPCInstrInfo::finalizeInsInstrs(), llvm::TargetLoweringBase::finalizeLowering(), llvm::SITargetLowering::finalizeLowering(), llvm::SPIRVTargetLowering::finalizeLowering(), llvm::findPHICopyInsertPoint(), findRenameRegForSameLdStRegPair(), findScratchNonCalleeSaveRegister(), foldConstantsIntoIntrinsics(), llvm::PPCInstrInfo::foldFrameOffset(), llvm::AArch64InstrInfo::foldMemoryOperandImpl(), llvm::SIInstrInfo::foldMemoryOperandImpl(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), foldPatchpoint(), forceReg(), llvm::GCNHazardRecognizer::GCNHazardRecognizer(), llvm::TargetInstrInfo::genAlternativeCodeSequence(), llvm::AArch64InstrInfo::genAlternativeCodeSequence(), llvm::RISCVInstrInfo::genAlternativeCodeSequence(), genAlternativeDpCodeSequence(), generateAssignInstrs(), llvm::generateAsyncCopy(), llvm::generateGroupInst(), llvm::generateImageSizeQueryInst(), genIndexedMultiply(), genShXAddAddShift(), llvm::SIInstrInfo::getAddNoCarry(), llvm::TargetRegisterInfo::getAllocatableSet(), getArgBaseReg(), llvm::MachineRegisterInfo::getCalleeSavedRegs(), llvm::PPCRegisterInfo::getCalleeSavedRegs(), llvm::FunctionLoweringInfo::getCatchPadExceptionPointerVReg(), llvm::PPCInstrInfo::getConstantFromConstantPool(), GetCostForDef(), llvm::AMDGPURegisterBankInfo::getDefaultMappingAllVGPR(), llvm::AMDGPURegisterBankInfo::getDefaultMappingSOP(), llvm::AMDGPURegisterBankInfo::getDefaultMappingVOP(), llvm::PPCInstrInfo::getFMAPatterns(), getFMULPatterns(), getFNEGPatterns(), getFoldableImm(), llvm::getFunctionLiveInPhysReg(), llvm::MipsFunctionInfo::getGlobalBaseReg(), llvm::CSKYInstrInfo::getGlobalBaseReg(), llvm::M68kInstrInfo::getGlobalBaseReg(), llvm::SparcInstrInfo::getGlobalBaseReg(), llvm::X86InstrInfo::getGlobalBaseReg(), llvm::R600InstrInfo::getIndirectIndexBegin(), getIndVarInfo(), GetInitialOffset(), llvm::AArch64RegisterBankInfo::getInstrAlternativeMappings(), llvm::AMDGPURegisterBankInfo::getInstrAlternativeMappings(), llvm::X86RegisterBankInfo::getInstrAlternativeMappings(), llvm::AArch64RegisterBankInfo::getInstrMapping(), llvm::AMDGPURegisterBankInfo::getInstrMapping(), llvm::ARMRegisterBankInfo::getInstrMapping(), llvm::MipsRegisterBankInfo::getInstrMapping(), llvm::PPCRegisterBankInfo::getInstrMapping(), llvm::RISCVRegisterBankInfo::getInstrMapping(), llvm::X86RegisterBankInfo::getInstrMapping(), llvm::AMDGPURegisterBankInfo::getInstrMappingForLoad(), llvm::RegisterBankInfo::getInstrMappingImpl(), llvm::X86InstrInfo::getJumpTableIndex(), getLiveRegsForEntryMBB(), LiveDebugValues::MLocTracker::getLocSizeInBits(), llvm::SPIRVGlobalRegistry::getOrCreateConstNullPtr(), llvm::SPIRVGlobalRegistry::getOrCreateOpTypeByOpcode(), llvm::SPIRVGlobalRegistry::getOrCreateOpTypeCoopMatr(), llvm::SPIRVGlobalRegistry::getOrCreateOpTypeSampledImage(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVArrayType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVBoolType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVPointerType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVVectorType(), llvm::SPIRVGlobalRegistry::getOrCreateUndef(), llvm::SwiftErrorValueTracking::getOrCreateVReg(), llvm::SwiftErrorValueTracking::getOrCreateVRegDefAt(), llvm::AArch64InstrInfo::getOutlinableRanges(), llvm::MachineFrameInfo::getPristineRegs(), getPrologueDeath(), llvm::AArch64RegisterInfo::getRegAllocationHints(), llvm::ARMBaseRegisterInfo::getRegAllocationHints(), llvm::PPCRegisterInfo::getRegAllocationHints(), llvm::RISCVRegisterInfo::getRegAllocationHints(), llvm::SystemZRegisterInfo::getRegAllocationHints(), llvm::X86RegisterInfo::getRegAllocationHints(), llvm::TargetRegisterInfo::getRegAllocationHints(), getRegClass(), llvm::SIInstrInfo::getRegClass(), getRegistersForValue(), getRegTy(), llvm::SPIRVGlobalRegistry::getResultType(), getVGPRSpillLaneOrTempRegister(), llvm::PerFunctionMIParsingState::getVRegInfo(), llvm::PerFunctionMIParsingState::getVRegInfoNamed(), llvm::VirtRegMap::grow(), llvm::CallLowering::handleAssignments(), llvm::TargetInstrInfo::hasReassociableOperands(), llvm::RISCVInstrInfo::hasReassociableOperands(), llvm::TargetInstrInfo::hasReassociableSibling(), llvm::RISCVInstrInfo::hasReassociableSibling(), llvm::SIInstrInfo::hasVGPRUses(), indirectCopyToAGPR(), llvm::RegPressureTracker::init(), llvm::MachineTraceMetrics::init(), llvm::RegBankSelect::init(), llvm::MipsFunctionInfo::initGlobalBaseReg(), INITIALIZE_PASS(), llvm::SelectionDAGISel::initializeAnalysisResults(), llvm::MIRParserImpl::initializeMachineFunction(), llvm::TailDuplicator::initMF(), llvm::VEInstrInfo::insertBranch(), insertCSRSaves(), llvm::SIInstrInfo::insertEQ(), llvm::XtensaInstrInfo::insertIndirectBranch(), llvm::SIInstrInfo::insertIndirectBranch(), llvm::LoongArchInstrInfo::insertIndirectBranch(), llvm::RISCVInstrInfo::insertIndirectBranch(), insertInlineAsmProcess(), llvm::insertMultibyteShift(), llvm::SIInstrInfo::insertNE(), llvm::SIInstrInfo::insertSelect(), llvm::AArch64InstrInfo::insertSelect(), llvm::PPCInstrInfo::insertSelect(), llvm::SystemZInstrInfo::insertSelect(), llvm::X86InstrInfo::insertSelect(), llvm::CallLowering::insertSRetLoads(), llvm::CallLowering::insertSRetStores(), llvm::SIInstrInfo::insertVectorSelect(), isACalleeSavedRegister(), llvm::SIRegisterInfo::isAsmClobberable(), llvm::SIInstrInfo::isBasicBlockPrologue(), isCallerPreservedOrConstPhysReg(), llvm::SITargetLowering::isCanonicalized(), llvm::isCycleInvariant(), isDefinedOutside(), llvm::SITargetLowering::isEligibleForTailCallOptimization(), llvm::MachineLoop::isLoopInvariant(), llvm::ARMBaseInstrInfo::isMBBSafeToOutlineFrom(), isNonFoldablePartialRegisterLoad(), llvm::SIInstrInfo::isOperandLegal(), llvm::TargetInstrInfo::isReallyTriviallyReMaterializable(), llvm::X86InstrInfo::isReallyTriviallyReMaterializable(), llvm::AMDGPURegisterBankInfo::isSALUMapping(), isSignExtendedW(), llvm::PPCInstrInfo::isSignOrZeroExtended(), isSSA(), llvm::SIInstrInfo::isVGPRCopy(), isXPLeafCandidate(), llvm::AArch64LegalizerInfo::legalizeIntrinsic(), llvm::Legalizer::legalizeMachineFunction(), llvm::SIInstrInfo::legalizeOperands(), llvm::SIInstrInfo::legalizeOpWithMove(), llvm::SITargetLowering::legalizeTargetIndependentNode(), llvm::MipsSEInstrInfo::loadImmediate(), llvm::XtensaInstrInfo::loadImmediate(), llvm::SystemZInstrInfo::loadImmediate(), loadM0FromVGPR(), loadMBUFScalarOperandsFromVGPR(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::SIInstrInfo::loadRegFromStackSlot(), llvm::X86InstrInfo::loadStoreTileReg(), llvm::NVPTXTargetLowering::LowerCall(), llvm::AArch64CallLowering::lowerCall(), llvm::AMDGPUCallLowering::lowerCall(), llvm::ARMCallLowering::lowerCall(), llvm::M68kCallLowering::lowerCall(), llvm::MipsCallLowering::lowerCall(), llvm::RISCVCallLowering::lowerCall(), llvm::X86CallLowering::lowerCall(), llvm::CallLowering::lowerCall(), llvm::HexagonTargetLowering::LowerCallResult(), LowerCallResults(), llvm::PPCRegisterInfo::lowerCRBitRestore(), llvm::PPCRegisterInfo::lowerCRBitSpilling(), llvm::PPCRegisterInfo::lowerCRRestore(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::AMDGPUCallLowering::lowerFormalArguments(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::ARMCallLowering::lowerFormalArguments(), llvm::M68kCallLowering::lowerFormalArguments(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::PPCCallLowering::lowerFormalArguments(), llvm::RISCVCallLowering::lowerFormalArguments(), llvm::X86CallLowering::lowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::LoongArchTargetLowering::LowerFormalArguments(), llvm::RISCVTargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::XtensaTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::AMDGPUCallLowering::lowerFormalArgumentsKernel(), LowerFPToInt(), LowerMemcpy(), LowerMemset(), llvm::MipsCallLowering::lowerReturn(), llvm::X86CallLowering::lowerReturn(), llvm::AArch64CallLowering::lowerReturn(), llvm::M68kCallLowering::lowerReturn(), llvm::PPCCallLowering::lowerReturn(), llvm::RISCVCallLowering::lowerReturn(), llvm::AMDGPUCallLowering::lowerTailCall(), llvm::RISCVRegisterInfo::lowerVRELOAD(), llvm::RISCVRegisterInfo::lowerVSPILL(), llvm::PPCRegisterInfo::lowerWACCRestore(), llvm::PPCRegisterInfo::lowerWACCSpilling(), lowerWaveReduce(), llvm::machineFunctionIsIllegal(), llvm::CombinerHelper::matchCombineConstPtrAddToI2P(), llvm::AArch64RegisterInfo::materializeFrameBaseRegister(), llvm::SIRegisterInfo::materializeFrameBaseRegister(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::PPCRegisterInfo::materializeFrameBaseRegister(), llvm::RISCVRegisterInfo::materializeFrameBaseRegister(), llvm::SIInstrInfo::materializeImmediate(), llvm::PPCInstrInfo::materializeImmPostRA(), llvm::SIInstrInfo::moveFlatAddrToVGPR(), llvm::SIInstrInfo::moveToVALUImpl(), llvm::CSKYInstrInfo::movImm(), llvm::RISCVInstrInfo::mulImm(), MustSaveLR(), needsDenormHandlingF32(), llvm::RISCVRegisterInfo::needsFrameBaseReg(), needToReserveScavengingSpillSlots(), llvm::PPCInstrInfo::optimizeCmpPostRA(), llvm::AArch64InstrInfo::optimizeCondBranch(), llvm::RISCVInstrInfo::optimizeCondBranch(), llvm::BranchFolder::OptimizeFunction(), llvm::MIRParserImpl::parseRegisterInfo(), llvm::AMDGPUCallLowering::passSpecialInputs(), llvm::PhiLoweringHelper::PhiLoweringHelper(), llvm::SITargetLowering::PostISelFolding(), llvm::PPCRegisterInfo::prepareDynamicAlloca(), llvm::VETargetLowering::prepareMBB(), llvm::VETargetLowering::prepareSymbol(), llvm::MIPrinter::print(), llvm::MIRPrinter::print(), llvm::MachineBasicBlock::print(), PrintNodeInfo(), llvm::AArch64InstrInfo::probedStackAlloc(), processBlockAddr(), llvm::SystemZELFFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SIFrameLowering::processFunctionBeforeFrameIndicesReplaced(), processInstrsWithTypeFolding(), processNewInstrs(), processSwitchesConstants(), propagateLocalCopies(), llvm::SwiftErrorValueTracking::propagateVRegs(), pushRegsToStack(), llvm::TargetInstrInfo::reassociateOps(), llvm::recomputeLivenessFlags(), llvm::GCNTargetMachine::registerMachineRegisterInfoCallback(), llvm::SIInstrInfo::reMaterialize(), rescheduleCanonically(), reservePrivateMemoryRegs(), llvm::LiveRangeCalc::reset(), llvm::GCNRPTracker::reset(), llvm::SIRegisterInfo::resolveFrameIndex(), llvm::PPCRegisterInfo::resolveFrameIndex(), llvm::restoreStatusRegister(), llvm::ThumbRegisterInfo::rewriteFrameIndex(), llvm::rewriteT2FrameIndex(), llvm::RegisterClassInfo::runOnMachineFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::ExecutionDomainFix::runOnMachineFunction(), llvm::IRTranslator::runOnMachineFunction(), llvm::GCNRegPressurePrinter::runOnMachineFunction(), llvm::WebAssemblyAsmPrinter::runOnMachineFunction(), llvm::scavengeFrameVirtualRegs(), llvm::InstructionSelect::selectInstr(), llvm::InstructionSelect::selectMachineFunction(), llvm::FunctionLoweringInfo::set(), llvm::GISelCSEInfo::setMF(), llvm::MachineIRBuilder::setMF(), llvm::X86MachineFunctionInfo::setRestoreBasePointer(), llvm::AMDGPUInstructionSelector::setupMF(), llvm::MIRParserImpl::setupRegisterInfo(), llvm::SIMachineFunctionInfo::shiftWwmVGPRsToLowestRange(), shouldPreventUndefRegUpdateMemFold(), llvm::PPCInstrInfo::shouldReduceRegisterPressure(), llvm::TargetRegisterInfo::shouldRegionSplitForVirtReg(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::M68kFrameLowering::spillCalleeSavedRegisters(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), llvm::X86FrameLowering::spillCalleeSavedRegisters(), spillVGPRtoAGPR(), llvm::MachineBasicBlock::SplitCriticalEdge(), splitMBB(), llvm::SIMachineFunctionInfo::splitWWMSpillRegisters(), llvm::stableHashValue(), llvm::AggressiveAntiDepBreaker::StartBlock(), llvm::CriticalAntiDepBreaker::StartBlock(), llvm::AArch64InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::SIInstrInfo::storeRegToStackSlot(), llvm::tryFoldSPUpdateIntoPushPop(), tryToFindRegisterToRename(), unpack64(), unpackF64OnRV32DSoftABI(), unpackFromRegLoc(), unstackifyVRegsUsedInSplitBB(), llvm::AArch64RegisterInfo::UpdateCustomCalleeSavedRegs(), updateLiveness(), UpdateOperandRegClass(), updateOperandRegConstraints(), llvm::ARMBaseRegisterInfo::updateRegAllocHint(), llvm::SIMachineFunctionInfo::usesAGPRs(), validateFunCall(), llvm::RegisterBankInfo::InstructionMapping::verify(), llvm::SIInstrInfo::verifyInstruction(), and llvm::VirtRegAuxInfo::weightCalcHelper().
|
inline |
Definition at line 735 of file MachineFunction.h.
|
inline |
Returns the Section this function belongs to.
Definition at line 684 of file MachineFunction.h.
Referenced by llvm::AsmPrinter::emitBBAddrMapSection(), llvm::AsmPrinter::emitFunctionBody(), llvm::AsmPrinter::emitKCFITrapEntry(), llvm::AsmPrinter::emitPCSections(), and llvm::TargetLoweringObjectFileELF::getSectionForMachineBasicBlock().
|
inlinestatic |
Support for MachineBasicBlock::getNextNode().
Definition at line 927 of file MachineFunction.h.
|
inline |
getSubtarget - Return the subtarget for which this machine code is being compiled.
Definition at line 724 of file MachineFunction.h.
Referenced by llvm::DwarfCompileUnit::addAddress(), llvm::DwarfCompileUnit::addComplexAddress(), addImplicitDefs(), llvm::MachineBasicBlock::addLiveIn(), addLiveInRegs(), llvm::ScheduleDAGInstrs::addPhysRegDataDeps(), llvm::ScheduleDAGInstrs::addPhysRegDeps(), addSavedGPR(), llvm::ScheduleDAGInstrs::addVRegDefDeps(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::RISCVRegisterInfo::adjustReg(), allocateRegMask(), llvm::TargetFrameLowering::allocateScavengingFrameIndexesNearIncomingSP(), llvm::SIFrameLowering::allocateScavengingFrameIndexesNearIncomingSP(), llvm::SIMachineFunctionInfo::allocateSGPRSpillToVGPRLane(), llvm::SIMachineFunctionInfo::allocateVGPRSpillToAGPR(), llvm::ARMBaseInstrInfo::analyzeBranch(), analyzeCompressibleUses(), llvm::CCState::analyzeMustTailForwardedRegisters(), llvm::A57ChainingConstraint::apply(), llvm::HexagonSubtarget::CallMutation::apply(), llvm::AMDGPURegisterBankInfo::applyMappingDynStackAlloc(), llvm::MipsRegisterBankInfo::applyMappingImpl(), llvm::AMDGPUCallLowering::areCalleeOutgoingArgsTailCallable(), llvm::ARMBasicBlockUtils::ARMBasicBlockUtils(), llvm::SIFrameLowering::assignCalleeSavedSpillSlots(), llvm::SystemZXPLINKFrameLowering::assignCalleeSavedSpillSlots(), llvm::RISCVFrameLowering::assignCalleeSavedSpillSlots(), assignSections(), attemptDebugCopyProp(), llvm::avoidZeroOffsetLandingPad(), llvm::DebugHandlerBase::beginFunction(), llvm::CodeViewDebug::beginFunctionImpl(), llvm::DwarfDebug::beginInstruction(), buildAnyextOrCopy(), llvm::buildBarrierInst(), llvm::MachineIRBuilder::buildBoolExtInReg(), llvm::AArch64InstrInfo::buildClearRegister(), llvm::X86InstrInfo::buildClearRegister(), llvm::SPIRVGlobalRegistry::buildConstantInt(), buildDefaultVLOps(), llvm::MachineIRBuilder::buildExtractVectorElementConstant(), llvm::SPIRVGlobalRegistry::buildGlobalVariable(), llvm::buildNDRange(), llvm::AArch64InstrInfo::buildOutlinedFrame(), llvm::ScheduleDAGInstrs::buildSchedGraph(), buildScratchExecCopy(), llvm::calculateDbgEntityHistory(), llvm::calculateRegAllocScore(), llvm::LiveRangeEdit::calculateRegClassAndHint(), llvm::HexagonTargetLowering::CanLowerReturn(), llvm::LoongArchTargetLowering::CanLowerReturn(), llvm::RISCVCallLowering::canLowerReturn(), cannotCoexistAsymm(), cannotInsertTailCall(), llvm::HexagonPacketizerList::canPromoteToDotCur(), llvm::ARMBaseRegisterInfo::canRealignStack(), llvm::MipsRegisterInfo::canRealignStack(), canSpillOnFrameIndexAccess(), llvm::MachineBasicBlock::canSplitCriticalEdge(), llvm::AArch64FrameLowering::canUseAsPrologue(), llvm::X86FrameLowering::canUseAsPrologue(), llvm::AArch64FrameLowering::canUseRedZone(), CC_AArch64_Custom_Block(), CC_AIX(), CC_ARM_AAPCS_Custom_Aggregate(), CC_MipsO32(), llvm::CC_RISCV(), llvm::CC_RISCV_FastCC(), llvm::CC_RISCV_GHC(), CC_RISCVAssign2XLen(), llvm::CC_SystemZ_I128Indirect(), CC_X86_64_VectorCall(), CC_X86_Intr(), CC_X86_VectorCallAssignRegister(), checkNumAlignedDPRCS2Regs(), llvm::checkVOPDRegConstraints(), cloneInstr(), combineFPFusedMultiply(), computeFPBPAlignmentGap(), llvm::SITargetLowering::computeKnownBitsForTargetNode(), computeLiveOuts(), llvm::MachineFrameInfo::computeMaxCallFrameSize(), llvm::TargetSchedModel::computeOutputLatency(), llvm::MIRPrinter::convertCallSiteObjects(), llvm::MIRPrinter::convertEntryValueObjects(), llvm::GCNTargetMachine::convertFuncInfoToYAML(), llvm::MIRPrinter::convertStackObjects(), llvm::Thumb1InstrInfo::copyPhysReg(), createAtomicLibcall(), llvm::createBURRListDAGScheduler(), createDedicatedExit(), llvm::createDefaultScheduler(), llvm::MipsFunctionInfo::createEhDataRegsFI(), llvm::XCoreFunctionInfo::createEHSpillSlot(), llvm::ARM::createFastISel(), llvm::PPC::createFastISel(), llvm::XCoreFunctionInfo::createFPSpillSlot(), llvm::createHybridListDAGScheduler(), llvm::createILPListDAGScheduler(), llvm::MipsFunctionInfo::createISRRegFI(), llvm::createLibcall(), llvm::XCoreFunctionInfo::createLRSpillSlot(), llvm::createMemLibcall(), createPHIsForCMOVsInSinkBB(), createPHIsForSelects(), llvm::createSourceListDAGScheduler(), llvm::SelectionDAG::CreateStackTemporary(), llvm::PPCInstrInfo::CreateTargetPostRAHazardRecognizer(), createTuple(), llvm::TargetInstrInfo::describeLoadedValue(), llvm::AArch64InstrInfo::describeLoadedValue(), llvm::MipsInstrInfo::describeLoadedValue(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::CSKYFrameLowering::determineCalleeSaves(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::MipsSEFrameLowering::determineCalleeSaves(), llvm::SystemZELFFrameLowering::determineCalleeSaves(), llvm::SystemZXPLINKFrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSavesSGPR(), llvm::SystemZXPLINKFrameLowering::determineFrameLayout(), llvm::SIFrameLowering::determinePrologEpilogSGPRSaves(), llvm::AMDGPUCallLowering::doCallerAndCalleePassArgsTheSameWay(), llvm::AArch64FrameLowering::eliminateCallFramePseudoInstr(), llvm::ARCFrameLowering::eliminateCallFramePseudoInstr(), llvm::MSP430FrameLowering::eliminateCallFramePseudoInstr(), llvm::WebAssemblyFrameLowering::eliminateCallFramePseudoInstr(), llvm::XCoreFrameLowering::eliminateCallFramePseudoInstr(), llvm::XtensaFrameLowering::eliminateCallFramePseudoInstr(), llvm::SIFrameLowering::eliminateCallFramePseudoInstr(), llvm::AVRFrameLowering::eliminateCallFramePseudoInstr(), llvm::AArch64RegisterInfo::eliminateFrameIndex(), llvm::ARCRegisterInfo::eliminateFrameIndex(), llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), llvm::ThumbRegisterInfo::eliminateFrameIndex(), llvm::HexagonRegisterInfo::eliminateFrameIndex(), llvm::LanaiRegisterInfo::eliminateFrameIndex(), llvm::MSP430RegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::VERegisterInfo::eliminateFrameIndex(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::CSKYRegisterInfo::eliminateFrameIndex(), llvm::SystemZRegisterInfo::eliminateFrameIndex(), llvm::AVRRegisterInfo::eliminateFrameIndex(), llvm::BPFRegisterInfo::eliminateFrameIndex(), llvm::LoongArchRegisterInfo::eliminateFrameIndex(), llvm::WebAssemblyRegisterInfo::eliminateFrameIndex(), llvm::XtensaRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), emitAligningInstructions(), llvm::AArch64TargetLowering::EmitAllocateSMESaveBuffer(), llvm::AArch64TargetLowering::EmitAllocateZABuffer(), emitBuildPairF64Pseudo(), emitCalleeSavedRestores(), emitComments(), llvm::SIFrameLowering::emitCSRSpillRestores(), llvm::SIFrameLowering::emitCSRSpillStores(), llvm::DwarfDebug::emitDebugLocValue(), emitDebugValueComment(), llvm::LiveDebugVariables::LDVImpl::emitDebugValues(), emitDefineCFAWithFP(), llvm::AArch64TargetLowering::EmitDynamicProbedAlloc(), llvm::SystemZTargetLowering::emitEHSjLjLongJmp(), llvm::SystemZTargetLowering::emitEHSjLjSetJmp(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::SIFrameLowering::emitEpilogue(), llvm::ARCFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::AVRFrameLowering::emitEpilogue(), llvm::MSP430FrameLowering::emitEpilogue(), llvm::SparcFrameLowering::emitEpilogue(), llvm::SystemZELFFrameLowering::emitEpilogue(), llvm::SystemZXPLINKFrameLowering::emitEpilogue(), llvm::WebAssemblyFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::XCoreFrameLowering::emitEpilogue(), emitFakeUse(), llvm::MipsAsmPrinter::emitFrameDirective(), emitFrameOffsetAdj(), llvm::AsmPrinter::emitFunctionBody(), llvm::AMDGPUAsmPrinter::emitFunctionBodyEnd(), llvm::AMDGPUAsmPrinter::emitFunctionBodyStart(), llvm::HexagonDAGToDAGISel::emitFunctionEntryCode(), llvm::AMDGPUAsmPrinter::emitFunctionEntryLabel(), llvm::SystemZAsmPrinter::emitFunctionEntryLabel(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitHiddenKernelArgs(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5::emitHiddenKernelArgs(), llvm::AsmPrinter::emitImplicitDef(), llvm::AMDGPUAsmPrinter::emitImplicitDef(), llvm::AMDGPUAsmPrinter::emitInstruction(), llvm::R600AsmPrinter::emitInstruction(), llvm::ARMAsmPrinter::emitInstruction(), llvm::HexagonAsmPrinter::emitInstruction(), llvm::SystemZAsmPrinter::emitInstruction(), llvm::X86AsmPrinter::emitInstruction(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::BPFTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::AsmPrinter::emitJumpTableInfo(), emitKill(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), llvm::ThumbRegisterInfo::emitLoadConstPool(), emitLoadM0FromVGPRLoop(), emitLoadScalarOpsFromVGPRLoop(), llvm::PPCDispatchGroupSBHazardRecognizer::EmitNoop(), llvm::AsmPrinter::emitNops(), llvm::AArch64FrameLowering::emitPrologue(), llvm::SIFrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::AVRFrameLowering::emitPrologue(), llvm::CSKYFrameLowering::emitPrologue(), llvm::HexagonFrameLowering::emitPrologue(), llvm::M68kFrameLowering::emitPrologue(), llvm::MSP430FrameLowering::emitPrologue(), llvm::NVPTXFrameLowering::emitPrologue(), llvm::RISCVFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::SystemZELFFrameLowering::emitPrologue(), llvm::SystemZXPLINKFrameLowering::emitPrologue(), llvm::WebAssemblyFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), emitPrologueEpilogueSPUpdate(), emitQuietFCMP(), emitReadCounterWidePseudo(), emitSCSEpilogue(), emitSCSPrologue(), emitSelectPseudo(), llvm::ARMSelectionDAGInfo::EmitSpecializedLibcall(), emitSplitF64Pseudo(), llvm::X86FrameLowering::emitSPUpdate(), llvm::X86FrameLowering::emitStackProbe(), emitStackProbeInline(), llvm::AArch64SelectionDAGInfo::EmitStreamingCompatibleMemLibCall(), EmitTailCallStoreFPAndRetAddr(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::ARMSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::HexagonSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::WebAssemblySelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemmove(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::ARMSelectionDAGInfo::EmitTargetCodeForMemset(), llvm::WebAssemblySelectionDAGInfo::EmitTargetCodeForMemset(), emitThumb1LoadConstPool(), emitThumb2LoadConstPool(), emitThumbRegPlusImmInReg(), emitVFROUND_NOEXCEPT_MASK(), emitVGSaveRestore(), llvm::AsmPrinter::emitXRayTable(), enableAllocFrameElim(), llvm::HexagonFrameLowering::enableCalleeSaveSkip(), llvm::PPCFrameLowering::enableShrinkWrapping(), estimateFunctionSizeInBytes(), estimateFunctionSizeInBytes(), estimateRSStackSizeLimit(), llvm::MachineFrameInfo::estimateStackSize(), llvm::VEInstrInfo::expandExtendStackPseudo(), llvm::VEInstrInfo::expandGetStackTopPseudo(), llvm::AArch64InstrInfo::expandPostRAPseudo(), llvm::SIInstrInfo::expandPostRAPseudo(), expandXorFP(), llvm::AArch64RegisterInfo::explainReservedReg(), llvm::AArch64CallLowering::fallBackToDAGISel(), llvm::finalizeBundle(), finalizeDebugInstrRefs(), llvm::SITargetLowering::finalizeLowering(), findJumpTableIndex(), findPrologueEndLoc(), findScratchNonCalleeSaveRegister(), finishStackBlock(), llvm::TargetInstrInfo::foldMemoryOperand(), llvm::AArch64InstrInfo::foldMemoryOperandImpl(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::AArch64InstrInfo::genAlternativeCodeSequence(), generateAssignInstrs(), llvm::generateConvertInst(), generateEndPgm(), llvm::generateGroupUniformInst(), llvm::generateIntelSubgroupsInst(), llvm::generateKernelClockInst(), genIndexedMultiply(), genShXAddAddShift(), llvm::AMDGPUSubtarget::get(), getAddressForMemoryInput(), getArgBaseReg(), llvm::PPCRegisterInfo::getBaseRegister(), getBBAddrMapMetadata(), llvm::getBLRCallOpcode(), llvm::getBLXOpcode(), llvm::getBLXpredOpcode(), llvm::MachineIRBuilder::getBoolExtOp(), llvm::MachineRegisterInfo::getCalleeSavedRegs(), llvm::SystemZXPLINK64Registers::getCalleeSavedRegs(), llvm::SystemZELFRegisters::getCalleeSavedRegs(), llvm::AArch64RegisterInfo::getCalleeSavedRegs(), llvm::ARMBaseRegisterInfo::getCalleeSavedRegs(), llvm::CSKYRegisterInfo::getCalleeSavedRegs(), llvm::LoongArchRegisterInfo::getCalleeSavedRegs(), llvm::MipsRegisterInfo::getCalleeSavedRegs(), llvm::PPCRegisterInfo::getCalleeSavedRegs(), llvm::RISCVRegisterInfo::getCalleeSavedRegs(), llvm::SystemZRegisterInfo::getCalleeSavedRegs(), llvm::X86RegisterInfo::getCalleeSavedRegs(), llvm::AVRRegisterInfo::getCalleeSavedRegs(), llvm::TargetFrameLowering::getCalleeSaves(), llvm::SystemZXPLINK64Registers::getCallPreservedMask(), llvm::SystemZELFRegisters::getCallPreservedMask(), llvm::AVRRegisterInfo::getCallPreservedMask(), llvm::PPCRegisterInfo::getCallPreservedMask(), llvm::SystemZRegisterInfo::getCallPreservedMask(), llvm::CSKYRegisterInfo::getCallPreservedMask(), llvm::AArch64RegisterInfo::getCallPreservedMask(), llvm::ARMBaseRegisterInfo::getCallPreservedMask(), llvm::LoongArchRegisterInfo::getCallPreservedMask(), llvm::MipsRegisterInfo::getCallPreservedMask(), llvm::RISCVRegisterInfo::getCallPreservedMask(), llvm::X86RegisterInfo::getCallPreservedMask(), llvm::AsmPrinter::getCodeViewJumpTableInfo(), llvm::AArch64RegisterInfo::getCustomEHPadPreservedMask(), llvm::AArch64RegisterInfo::getDarwinCalleeSavedRegs(), llvm::AArch64RegisterInfo::getDarwinCallPreservedMask(), llvm::TargetFrameLowering::getDwarfFrameBase(), llvm::X86FrameLowering::getDwarfFrameBase(), llvm::getEHScopeMembership(), llvm::MachineBasicBlock::getFallThrough(), getFPOffset(), llvm::WebAssemblyFrameLowering::getFPReg(), llvm::TargetFrameLowering::getFrameIndexReference(), llvm::R600FrameLowering::getFrameIndexReference(), llvm::SIFrameLowering::getFrameIndexReference(), llvm::CSKYFrameLowering::getFrameIndexReference(), llvm::HexagonFrameLowering::getFrameIndexReference(), llvm::LoongArchFrameLowering::getFrameIndexReference(), llvm::RISCVFrameLowering::getFrameIndexReference(), llvm::SparcFrameLowering::getFrameIndexReference(), llvm::AArch64FrameLowering::getFrameIndexReferencePreferSP(), llvm::ARMBaseRegisterInfo::getFrameRegister(), llvm::AVRRegisterInfo::getFrameRegister(), llvm::M68kRegisterInfo::getFrameRegister(), llvm::MipsRegisterInfo::getFrameRegister(), llvm::SystemZRegisterInfo::getFrameRegister(), llvm::XtensaRegisterInfo::getFrameRegister(), llvm::SIMachineFunctionInfo::getGITPtrLoReg(), getGlobalBaseRegClass(), llvm::ARMHazardRecognizerFPMLx::getHazardType(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::getHSAKernelProps(), llvm::R600InstrInfo::getIndirectIndexEnd(), GetInitialOffset(), llvm::AArch64RegisterBankInfo::getInstrAlternativeMappings(), llvm::X86RegisterBankInfo::getInstrAlternativeMappings(), llvm::AArch64RegisterBankInfo::getInstrMapping(), llvm::ARMRegisterBankInfo::getInstrMapping(), llvm::PPCRegisterBankInfo::getInstrMapping(), llvm::RISCVRegisterBankInfo::getInstrMapping(), llvm::X86RegisterBankInfo::getInstrMapping(), llvm::RegisterBankInfo::getInstrMappingImpl(), llvm::AArch64InstrInfo::getInstSizeInBytes(), llvm::MSP430InstrInfo::getInstSizeInBytes(), llvm::ARMBaseRegisterInfo::getLargestLegalSuperClass(), llvm::ThumbRegisterInfo::getLargestLegalSuperClass(), llvm::AVRRegisterInfo::getLargestLegalSuperClass(), llvm::PPCRegisterInfo::getLargestLegalSuperClass(), llvm::X86RegisterInfo::getLargestLegalSuperClass(), getLoadStoreOffsetSizeInBits(), llvm::WebAssemblyFrameLowering::getLocalForStackObject(), getMemcpyLoadsAndStores(), getMemmoveLoadsAndStores(), getMemsetStores(), llvm::MipsFunctionInfo::getMoveF64ViaSpillFI(), getMSAMapping(), llvm::X86RegisterInfo::getNumSupportedRegs(), llvm::WebAssemblyFrameLowering::getOpcAdd(), llvm::WebAssemblyFrameLowering::getOpcAnd(), llvm::WebAssemblyFrameLowering::getOpcConst(), llvm::WebAssemblyFrameLowering::getOpcGlobGet(), llvm::WebAssemblyFrameLowering::getOpcGlobSet(), llvm::WebAssemblyFrameLowering::getOpcSub(), llvm::SPIRVGlobalRegistry::getOrCreateConstFP(), llvm::SPIRVGlobalRegistry::getOrCreateConstInt(), getOrCreateFrameHelper(), llvm::SPIRVGlobalRegistry::getOrCreateUndef(), llvm::RISCVInstrInfo::getOutliningCandidateInfo(), llvm::RISCVInstrInfo::getOutliningTypeImpl(), llvm::X86GenRegisterBankInfo::getPartialMappingIdx(), llvm::HexagonEvaluator::getPhysRegBitWidth(), llvm::MipsRegisterInfo::getPointerRegClass(), llvm::SparcRegisterInfo::getPointerRegClass(), llvm::ThumbRegisterInfo::getPointerRegClass(), llvm::WebAssemblyRegisterInfo::getPointerRegClass(), llvm::X86RegisterInfo::getPointerRegClass(), llvm::MachineFrameInfo::getPristineRegs(), llvm::X86RegisterInfo::getPtrSizedFrameRegister(), llvm::X86RegisterInfo::getPtrSizedStackRegister(), llvm::SelectionDAG::getReducedAlign(), llvm::PPCRegisterInfo::getRegAllocationHints(), llvm::RISCVRegisterInfo::getRegAllocationHints(), llvm::SystemZRegisterInfo::getRegAllocationHints(), llvm::X86RegisterInfo::getRegAllocationHints(), llvm::RISCVRegisterInfo::getRegisterCostTableIndex(), getRegistersForValue(), llvm::AArch64RegisterInfo::getRegPressureLimit(), llvm::ARMBaseRegisterInfo::getRegPressureLimit(), llvm::MipsRegisterInfo::getRegPressureLimit(), llvm::PPCRegisterInfo::getRegPressureLimit(), llvm::SystemZELFFrameLowering::getRegSpillOffset(), getRegTy(), llvm::AArch64RegisterInfo::getReservedRegs(), llvm::R600RegisterInfo::getReservedRegs(), llvm::ARMBaseRegisterInfo::getReservedRegs(), llvm::AVRRegisterInfo::getReservedRegs(), llvm::CSKYRegisterInfo::getReservedRegs(), llvm::HexagonRegisterInfo::getReservedRegs(), llvm::M68kRegisterInfo::getReservedRegs(), llvm::MipsRegisterInfo::getReservedRegs(), llvm::PPCRegisterInfo::getReservedRegs(), llvm::RISCVRegisterInfo::getReservedRegs(), llvm::SparcRegisterInfo::getReservedRegs(), llvm::SystemZRegisterInfo::getReservedRegs(), llvm::X86RegisterInfo::getReservedRegs(), llvm::XtensaRegisterInfo::getReservedRegs(), getScavSlotsNumForRVV(), getSchedRegions(), llvm::AMDGPULegalizerInfo::getSegmentAperture(), llvm::AArch64FrameLowering::getSEHFrameIndexOffset(), llvm::ARMBaseRegisterInfo::getSjLjDispatchPreservedMask(), llvm::TargetInstrInfo::getSPAdjust(), llvm::X86InstrInfo::getSPAdjust(), llvm::WebAssemblyFrameLowering::getSPReg(), getStackHazardSize(), llvm::TargetInstrInfo::getStackSlotRange(), llvm::AArch64RegisterInfo::getStrictlyReservedRegs(), llvm::SelectionDAG::getSubtarget(), llvm::AsmPrinter::getSubtargetInfo(), GetSymbolRef(), getTargetIndexName(), llvm::CombinerHelper::getTargetLowering(), llvm::MachineRegisterInfo::getTargetRegisterInfo(), llvm::gettBLXrOpcode(), llvm::AArch64RegisterInfo::getThisReturnPreservedMask(), llvm::ARMBaseRegisterInfo::getThisReturnPreservedMask(), llvm::ARMBaseRegisterInfo::getTLSCallPreservedMask(), getVCIXISDNodeWCHAIN(), getVGPRSpillLaneOrTempRegister(), llvm::CCState::HandleByVal(), llvm::X86FrameLowering::has128ByteRedZone(), llvm::AArch64RegisterInfo::hasBasePointer(), llvm::AArch64FrameLowering::hasFPImpl(), llvm::SIFrameLowering::hasFPImpl(), llvm::ARCFrameLowering::hasFPImpl(), llvm::ARMFrameLowering::hasFPImpl(), llvm::CSKYFrameLowering::hasFPImpl(), llvm::HexagonFrameLowering::hasFPImpl(), llvm::LoongArchFrameLowering::hasFPImpl(), llvm::RISCVFrameLowering::hasFPImpl(), llvm::VEFrameLowering::hasFPImpl(), hasRVVFrameObject(), llvm::HexagonAsmPrinter::HexagonProcessInstruction(), llvm::RegPressureTracker::init(), llvm::MachineTraceMetrics::init(), llvm::RegBankSelect::init(), llvm::LiveStacks::init(), llvm::LiveRegMatrix::init(), llvm::PreRARematStage::initGCNSchedStage(), llvm::MipsFunctionInfo::initGlobalBaseReg(), llvm::ConvergingVLIWScheduler::initialize(), llvm::GCNSchedStrategy::initialize(), llvm::R600SchedStrategy::initialize(), INITIALIZE_PASS(), llvm::SelectionDAGISel::initializeAnalysisResults(), llvm::MIRParserImpl::initializeFrameInfo(), llvm::MIRParserImpl::initializeMachineFunction(), llvm::TailDuplicator::initMF(), llvm::GenericScheduler::initPolicy(), llvm::PostGenericScheduler::initPolicy(), llvm::SystemZELFFrameLowering::inlineStackProbe(), llvm::SystemZXPLINKFrameLowering::inlineStackProbe(), insertBitcasts(), insertCSRRestores(), insertCSRSaves(), insertDivByZeroTrap(), llvm::SIInstrInfo::insertIndirectBranch(), llvm::LoongArchInstrInfo::insertIndirectBranch(), llvm::RISCVInstrInfo::insertIndirectBranch(), llvm::insertMultibyteShift(), insertRememberRestorePair(), llvm::SIInstrInfo::insertScratchExecCopy(), InsertSEH(), insertSEH(), insertUndefLaneMask(), interpretValues(), llvm::AArch64RegisterInfo::isArgumentRegister(), llvm::X86RegisterInfo::isArgumentRegister(), llvm::RISCVRegisterInfo::isAsmClobberable(), llvm::PPCRegisterInfo::isCallerPreservedPhysReg(), llvm::isCycleInvariant(), llvm::AMDGPUCallLowering::isEligibleForTailCallOptimization(), isEligibleToFoldADDIForFasterLocalAccesses(), llvm::X86RegisterInfo::isFixedRegister(), llvm::ARMBaseRegisterInfo::isInlineAsmReadOnlyReg(), llvm::HexagonPacketizerList::isLegalToPacketizeTogether(), llvm::SwingSchedulerDAG::isLoopCarriedDep(), llvm::MachineLoop::isLoopInvariant(), isNonFoldablePartialRegisterLoad(), llvm::ARMBaseInstrInfo::isPredicable(), llvm::RISCVMachineFunctionInfo::isPushable(), isRegOtherThanSPAndFP(), llvm::TargetInstrInfo::isSchedulingBoundary(), llvm::PPCInstrInfo::isSignOrZeroExtended(), isTargetWindows(), isThreadPointerAcquisitionNode(), isXPLeafCandidate(), jumpTableHasOtherUses(), llvm::ARMFrameLowering::keepFramePointer(), legalizeScatterGatherIndexType(), llvm::GCNRegPressure::less(), llvm::SIMachineFunctionInfo::limitOccupancy(), llvm::MachineBasicBlock::liveout_begin(), loadM0FromVGPR(), loadMBUFScalarOperandsFromVGPR(), llvm::PPCRegisterInfo::lowerACCRestore(), llvm::PPCRegisterInfo::lowerACCSpilling(), llvm::AArch64CallLowering::lowerCall(), llvm::AMDGPUCallLowering::lowerCall(), llvm::ARMCallLowering::lowerCall(), llvm::M68kCallLowering::lowerCall(), llvm::MipsCallLowering::lowerCall(), llvm::RISCVCallLowering::lowerCall(), llvm::SPIRVCallLowering::lowerCall(), llvm::X86CallLowering::lowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::PPCRegisterInfo::lowerCRBitRestore(), llvm::PPCRegisterInfo::lowerCRBitSpilling(), llvm::PPCRegisterInfo::lowerCRRestore(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::PPCRegisterInfo::lowerDynamicAreaOffset(), llvm::AMDGPUCallLowering::lowerFormalArguments(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::RISCVCallLowering::lowerFormalArguments(), llvm::SPIRVCallLowering::lowerFormalArguments(), llvm::LoongArchTargetLowering::LowerFormalArguments(), llvm::AMDGPUCallLowering::lowerFormalArgumentsKernel(), llvm::InlineAsmLowering::lowerInlineAsm(), llvm::PPCRegisterInfo::lowerOctWordSpilling(), llvm::AMDGPUAsmPrinter::lowerOperand(), llvm::PPCRegisterInfo::lowerPrepareProbedAlloca(), llvm::PPCRegisterInfo::lowerQuadwordRestore(), llvm::PPCRegisterInfo::lowerQuadwordSpilling(), llvm::ARMCallLowering::lowerReturn(), llvm::X86CallLowering::lowerReturn(), llvm::AArch64CallLowering::lowerReturn(), llvm::RISCVCallLowering::lowerReturn(), llvm::SPIRVCallLowering::lowerReturn(), llvm::RISCVTargetLowering::LowerReturn(), lowerRISCVVMachineInstrToMCInst(), llvm::AMDGPUCallLowering::lowerTailCall(), llvm::RISCVRegisterInfo::lowerVRELOAD(), llvm::RISCVRegisterInfo::lowerVSPILL(), llvm::PPCRegisterInfo::lowerWACCRestore(), llvm::PPCRegisterInfo::lowerWACCSpilling(), llvm::machineFunctionIsIllegal(), llvm::CombinerHelper::matchNotCmp(), llvm::AArch64RegisterInfo::materializeFrameBaseRegister(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::PPCRegisterInfo::materializeFrameBaseRegister(), llvm::RISCVRegisterInfo::materializeFrameBaseRegister(), llvm::MachineInstr::mayAlias(), needScavSlotForCFR(), llvm::RISCVRegisterInfo::needsFrameBaseReg(), llvm::AArch64FunctionInfo::needsShadowCallStackPrologueEpilogue(), llvm::SystemZELFFrameLowering::orderFrameObjects(), outliningCandidatesV8_3OpsConsensus(), llvm::GCNTargetMachine::parseMachineFunctionInfo(), llvm::AMDGPUCallLowering::passSpecialInputs(), performMemPairCombine(), llvm::PhiLoweringHelper::PhiLoweringHelper(), llvm::PPCDispatchGroupSBHazardRecognizer::PreEmitNoops(), llvm::SystemZInstrInfo::prepareCompareSwapOperands(), llvm::PPCRegisterInfo::prepareDynamicAlloca(), llvm::MIRPrinter::print(), llvm::MachineFrameInfo::print(), llvm::MIPrinter::print(), llvm::MachineInstr::print(), print(), llvm::MachineBasicBlock::print(), llvm::AMDGPUAsmPrinter::PrintAsmOperand(), llvm::HexagonAsmPrinter::PrintAsmOperand(), llvm::ARMAsmPrinter::PrintAsmOperand(), llvm::AVRAsmPrinter::PrintAsmOperand(), llvm::ARMAsmPrinter::printOperand(), llvm::GCNIterativeScheduler::printRegions(), llvm::MipsAsmPrinter::printSavedRegsBitmask(), llvm::GCNIterativeScheduler::printSchedRP(), llvm::MachineOperand::printTargetFlags(), llvm::AArch64InstrInfo::probedStackAlloc(), llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized(), llvm::ARCFrameLowering::processFunctionBeforeFrameFinalized(), llvm::RISCVFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SystemZELFFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SystemZXPLINKFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(), llvm::XCoreFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SIFrameLowering::processFunctionBeforeFrameIndicesReplaced(), processVCIXOperands(), produceCompactUnwindFrame(), llvm::PPCInstrInfo::promoteInstr32To64ForElimEXTSW(), promoteVCIXScalar(), llvm::SwiftErrorValueTracking::propagateVRegs(), llvm::TargetInstrInfo::reassociateOps(), llvm::MachineRegisterInfo::recomputeRegClass(), reduceDbgValsForwardScan(), replaceDominatedUses(), replaceFI(), replaceFrameIndex(), llvm::ARMFrameLowering::requiresAAPCSFrameRecord(), llvm::PPCRegisterInfo::requiresFrameIndexScavenging(), requiresGetVGCall(), requiresSaveVG(), llvm::PPCRegisterInfo::requiresVirtualBaseRegisters(), llvm::R600InstrInfo::reserveIndirectRegisters(), reservePrivateMemoryRegs(), llvm::AArch64FrameLowering::resetCFIToInitialState(), llvm::MipsTargetMachine::resetSubtarget(), llvm::AArch64RegisterInfo::resolveFrameIndex(), llvm::ARMBaseRegisterInfo::resolveFrameIndex(), llvm::ThumbRegisterInfo::resolveFrameIndex(), llvm::PPCRegisterInfo::resolveFrameIndex(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), llvm::AArch64FrameLowering::resolveFrameOffsetReference(), llvm::ResourcePriorityQueue::ResourcePriorityQueue(), llvm::SystemZELFFrameLowering::restoreCalleeSavedRegisters(), llvm::SystemZXPLINKFrameLowering::restoreCalleeSavedRegisters(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), llvm::AVRFrameLowering::restoreCalleeSavedRegisters(), llvm::CSKYFrameLowering::restoreCalleeSavedRegisters(), llvm::MSP430FrameLowering::restoreCalleeSavedRegisters(), llvm::RISCVFrameLowering::restoreCalleeSavedRegisters(), llvm::XCoreFrameLowering::restoreCalleeSavedRegisters(), restoreCRs(), llvm::restoreStatusRegister(), llvm::ThumbRegisterInfo::rewriteFrameIndex(), runImpl(), llvm::RegisterClassInfo::runOnMachineFunction(), llvm::ARMAsmPrinter::runOnMachineFunction(), llvm::HexagonAsmPrinter::runOnMachineFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::CFIFixup::runOnMachineFunction(), llvm::ExecutionDomainFix::runOnMachineFunction(), llvm::InstructionSelect::runOnMachineFunction(), llvm::IRTranslator::runOnMachineFunction(), llvm::Legalizer::runOnMachineFunction(), llvm::ReachingDefAnalysis::runOnMachineFunction(), llvm::BreakFalseDeps::runOnMachineFunction(), llvm::AMDGPUAsmPrinter::runOnMachineFunction(), llvm::AMDGPUDAGToDAGISel::runOnMachineFunction(), llvm::ARMBlockPlacement::runOnMachineFunction(), llvm::CSKYAsmPrinter::runOnMachineFunction(), llvm::HexagonDAGToDAGISel::runOnMachineFunction(), llvm::HexagonMask::runOnMachineFunction(), llvm::LoongArchDAGToDAGISel::runOnMachineFunction(), llvm::MipsAsmPrinter::runOnMachineFunction(), llvm::MipsDAGToDAGISel::runOnMachineFunction(), llvm::NVPTXDAGToDAGISel::runOnMachineFunction(), llvm::RISCVDAGToDAGISel::runOnMachineFunction(), llvm::ErrataWorkaround::runOnMachineFunction(), llvm::InsertNOPLoad::runOnMachineFunction(), llvm::DetectRoundChange::runOnMachineFunction(), llvm::FixAllFDIVSQRT::runOnMachineFunction(), llvm::WebAssemblyAsmPrinter::runOnMachineFunction(), llvm::X86AsmPrinter::runOnMachineFunction(), llvm::LiveDebugVariables::LDVImpl::runOnMachineFunction(), llvm::Mips16RegisterInfo::saveScavengerRegister(), llvm::ScheduleDAGInstrs::ScheduleDAGInstrs(), llvm::GCNIterativeScheduler::scheduleILP(), llvm::GCNIterativeScheduler::scheduleLegacyMaxOccupancy(), llvm::GCNIterativeScheduler::scheduleRegion(), llvm::HexagonConvergingVLIWScheduler::SchedulingCost(), selectI64Imm(), llvm::InstructionSelect::selectMachineFunction(), llvm::FunctionLoweringInfo::set(), setAliasRegs(), setCallTargetReg(), llvm::SwiftErrorValueTracking::setFunction(), llvm::MachineIRBuilder::setMF(), llvm::X86MachineFunctionInfo::setRestoreBasePointer(), llvm::AMDGPUInstructionSelector::setupMF(), llvm::MIRParserImpl::setupRegisterInfo(), llvm::SIMachineFunctionInfo::shiftWwmVGPRsToLowestRange(), llvm::HexagonRegisterInfo::shouldCoalesce(), llvm::TargetRegisterInfo::shouldRegionSplitForVirtReg(), shouldUseFrameHelper(), llvm::MachineBasicBlock::SkipPHIsAndLabels(), llvm::MachineBasicBlock::SkipPHIsLabelsAndDebug(), llvm::SystemZELFFrameLowering::spillCalleeSavedRegisters(), llvm::SystemZXPLINKFrameLowering::spillCalleeSavedRegisters(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::AVRFrameLowering::spillCalleeSavedRegisters(), llvm::CSKYFrameLowering::spillCalleeSavedRegisters(), llvm::LoongArchFrameLowering::spillCalleeSavedRegisters(), llvm::MSP430FrameLowering::spillCalleeSavedRegisters(), llvm::RISCVFrameLowering::spillCalleeSavedRegisters(), llvm::XCoreFrameLowering::spillCalleeSavedRegisters(), llvm::X86FrameLowering::spillFPBP(), llvm::MachineBasicBlock::splitAt(), llvm::MachineBasicBlock::SplitCriticalEdge(), splitMBB(), TransferTracker::TransferTracker(), llvm::AArch64GISelUtils::tryEmitBZero(), llvm::GCNIterativeScheduler::tryMaximizeOccupancy(), tryMemPairCombine(), llvm::X86InstrInfo::unfoldMemoryOperand(), unstackifyVRegsUsedInSplitBB(), llvm::AArch64RegisterInfo::UpdateCustomCalleeSavedRegs(), llvm::AArch64RegisterInfo::UpdateCustomCallPreservedMask(), updateLiveIn(), UpdateOperandRegClass(), llvm::DwarfCompileUnit::updateSubprogramScopeDIE(), llvm::MachineBasicBlock::updateTerminator(), llvm::AArch64RegisterInfo::useFPForScavengingIndex(), llvm::ThumbRegisterInfo::useFPForScavengingIndex(), llvm::HexagonRegisterInfo::useFPForScavengingIndex(), llvm::SystemZELFFrameLowering::usePackedStack(), llvm::RISCVMachineFunctionInfo::useSaveRestoreLibCalls(), llvm::RegisterBankInfo::InstructionMapping::verify(), llvm::VLIWPacketizerList::VLIWPacketizerList(), llvm::VirtRegAuxInfo::weightCalcHelper(), windowsRequiresStackProbe(), and llvm::WebAssemblyFrameLowering::writeSPToGlobal().
|
inline |
getSubtarget - This method returns a pointer to the specified type of TargetSubtargetInfo.
In debug builds, it verifies that the object being returned is of the correct type.
Definition at line 729 of file MachineFunction.h.
|
inline |
getTarget - Return the target machine this machine code is compiled with
Definition at line 720 of file MachineFunction.h.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), AlignBlocks(), allowApproxFunc(), llvm::NVPTXTargetLowering::allowFMA(), llvm::NVPTXTargetLowering::allowUnsafeFPMath(), llvm::ARMFrameLowering::assignCalleeSavedSpillSlots(), assignSections(), llvm::X86InstrInfo::canMakeTailCallConditional(), llvm::AArch64RegisterInfo::cannotEliminateFrame(), llvm::ARMBaseRegisterInfo::cannotEliminateFrame(), llvm::MachineBasicBlock::canSplitCriticalEdge(), llvm::X86FrameLowering::canUseLEAForSPInEpilogue(), llvm::MipsFunctionInfo::createEhDataRegsFI(), llvm::MipsTargetLowering::createFastISel(), llvm::MCResourceInfo::createTotalNumSGPRs(), llvm::MCResourceInfo::createTotalNumVGPRs(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::TargetInstrInfo::duplicate(), llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::AVRRegisterInfo::eliminateFrameIndex(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::AsmPrinter::emitFunctionBody(), llvm::AsmPrinter::emitPCSections(), llvm::AArch64FrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::NVPTXFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::AsmPrinter::emitStackSizeSection(), llvm::AsmPrinter::emitStackUsage(), llvm::TargetFrameLowering::enableCFIFixup(), ExpandMOVImmSExti8(), llvm::AArch64InstrInfo::expandPostRAPseudo(), llvm::HexagonInstrInfo::expandPostRAPseudo(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::MCResourceInfo::gatherResourceInfo(), llvm::AMDGPUSubtarget::get(), llvm::GISelKnownBitsAnalysis::get(), llvm::HexagonFrameLowering::getFrameIndexReference(), llvm::X86FrameLowering::getFrameIndexReference(), llvm::NVPTXRegisterInfo::getFrameLocalRegister(), llvm::MipsRegisterInfo::getFrameRegister(), llvm::NVPTXRegisterInfo::getFrameRegister(), getGlobalBaseRegClass(), llvm::AArch64InstrInfo::getInstSizeInBytes(), llvm::SIInstrInfo::getInstSizeInBytes(), llvm::ARCInstrInfo::getInstSizeInBytes(), llvm::ARMBaseInstrInfo::getInstSizeInBytes(), llvm::AVRInstrInfo::getInstSizeInBytes(), llvm::CSKYInstrInfo::getInstSizeInBytes(), llvm::LoongArchInstrInfo::getInstSizeInBytes(), llvm::MipsInstrInfo::getInstSizeInBytes(), llvm::MSP430InstrInfo::getInstSizeInBytes(), llvm::PPCInstrInfo::getInstSizeInBytes(), llvm::RISCVInstrInfo::getInstSizeInBytes(), llvm::SparcInstrInfo::getInstSizeInBytes(), llvm::SystemZInstrInfo::getInstSizeInBytes(), llvm::XtensaInstrInfo::getInstSizeInBytes(), llvm::ARMSubtarget::getPushPopSplitVariation(), llvm::HexagonInstrInfo::getSize(), llvm::AArch64FrameLowering::hasFPImpl(), llvm::SIFrameLowering::hasFPImpl(), llvm::ARCFrameLowering::hasFPImpl(), llvm::ARMFrameLowering::hasFPImpl(), llvm::CSKYFrameLowering::hasFPImpl(), llvm::HexagonFrameLowering::hasFPImpl(), llvm::LoongArchFrameLowering::hasFPImpl(), llvm::M68kFrameLowering::hasFPImpl(), llvm::MipsFrameLowering::hasFPImpl(), llvm::MSP430FrameLowering::hasFPImpl(), llvm::RISCVFrameLowering::hasFPImpl(), llvm::SparcFrameLowering::hasFPImpl(), llvm::SystemZELFFrameLowering::hasFPImpl(), llvm::VEFrameLowering::hasFPImpl(), llvm::X86FrameLowering::hasFPImpl(), llvm::XCoreFrameLowering::hasFPImpl(), llvm::XtensaFrameLowering::hasFPImpl(), llvm::MipsFunctionInfo::initGlobalBaseReg(), llvm::MIRParserImpl::initializeCallSiteInfo(), llvm::MIRParserImpl::initializeMachineFunction(), llvm::AArch64InstrInfo::isAssociativeAndCommutative(), isCombineInstrCandidateFP(), llvm::AArch64CallLowering::isEligibleForTailCallOptimization(), llvm::AMDGPUCallLowering::isEligibleForTailCallOptimization(), llvm::X86::isExtendedSwiftAsyncFrameSupported(), llvm::ARMFrameLowering::isFPReserved(), llvm::AArch64InstrInfo::isFunctionSafeToOutlineFrom(), llvm::isKnownNeverNaN(), isOptNone(), llvm::RISCVMachineFunctionInfo::isPushable(), llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(), llvm::AMDGPULegalizerInfo::legalizeFastUnsafeFDIV(), llvm::AMDGPULegalizerInfo::legalizeFastUnsafeFDIV64(), llvm::AMDGPULegalizerInfo::legalizeFExp(), llvm::AMDGPULegalizerInfo::legalizeFlogCommon(), llvm::SITargetLowering::LowerCall(), llvm::AArch64CallLowering::lowerCall(), llvm::MipsCallLowering::lowerCall(), llvm::CallLowering::lowerCall(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::LegalizerHelper::lowerFPTRUNC_F64_TO_F16(), llvm::AMDGPUCallLowering::lowerTailCall(), llvm::AArch64FunctionInfo::needsDwarfUnwindInfo(), llvm::PPCFrameLowering::needsFP(), needsFrameMoves(), llvm::WebAssemblyFrameLowering::needsPrologForEH(), needsPrologueENDBR(), needsWinCFI(), llvm::AMDGPUMIRFormatter::parseCustomPseudoSourceValue(), llvm::MIRPrinter::print(), llvm::X86FrameLowering::processFunctionBeforeFrameFinalized(), llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized(), promoteToConstantPool(), llvm::ARMAsmPrinter::runOnMachineFunction(), llvm::InstructionSelect::runOnMachineFunction(), llvm::IRTranslator::runOnMachineFunction(), llvm::AsmPrinter::SetupMachineFunction(), shouldLowerMemFuncForSize(), llvm::TailDuplicator::shouldTailDuplicate(), shouldUseDebugInstrRef(), and llvm::DwarfCompileUnit::updateSubprogramScopeDIE().
unsigned MachineFunction::getTypeIDFor | ( | const GlobalValue * | TI | ) |
Return the type id for the specified typeinfo. This is function wide.
Definition at line 882 of file MachineFunction.cpp.
References N.
Referenced by addLandingPad().
|
inline |
Return a reference to the C++ typeinfo for the current function.
Definition at line 1332 of file MachineFunction.h.
Referenced by llvm::EHStreamer::emitExceptionTable(), and llvm::EHStreamer::emitTypeInfos().
|
inline |
Definition at line 1358 of file MachineFunction.h.
|
inline |
Definition at line 1359 of file MachineFunction.h.
|
inline |
Definition at line 763 of file MachineFunction.h.
|
inline |
getWasmEHFuncInfo - Return information about how the current function uses Wasm exception handling.
Returns null for functions that don't use wasm exception handling.
Definition at line 762 of file MachineFunction.h.
Referenced by llvm::WebAssemblyFunctionInfo::initializeBaseYamlFields(), llvm::WebAssemblyExceptionInfo::recalculate(), llvm::FunctionLoweringInfo::set(), sortBlocks(), and llvm::yaml::WebAssemblyFunctionInfo::WebAssemblyFunctionInfo().
|
inline |
Get the index in wasm EH for a given landing pad.
Definition at line 1280 of file MachineFunction.h.
References assert(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::lookup().
Referenced by llvm::WasmException::computeCallSiteTable().
|
inline |
Definition at line 769 of file MachineFunction.h.
|
inline |
getWinEHFuncInfo - Return information about how the current function uses Windows exception handling.
Returns null for functions that don't use funclets for exception handling.
Definition at line 768 of file MachineFunction.h.
Referenced by llvm::WinException::beginFunction(), llvm::X86FrameLowering::emitPrologue(), MarkEHGuard(), MarkEHRegistrationNode(), llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized(), llvm::X86FrameLowering::restoreWin32EHStackPointers(), and llvm::FunctionLoweringInfo::set().
void MachineFunction::handleChangeDesc | ( | MachineInstr & | MI, |
const MCInstrDesc & | TID | ||
) |
Definition at line 182 of file MachineFunction.cpp.
References llvm::MachineFunction::Delegate::MF_HandleChangeDesc(), and MI.
Referenced by llvm::MachineInstr::setDesc().
|
inline |
Definition at line 1301 of file MachineFunction.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::empty().
|
inline |
Definition at line 1285 of file MachineFunction.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::empty().
|
inline |
Return if there is any wasm exception handling.
Definition at line 1265 of file MachineFunction.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::empty().
|
inline |
Returns true if this function has basic block sections enabled.
Definition at line 707 of file MachineFunction.h.
Referenced by assignSections(), getBBAddrMapFeature(), llvm::MachineBasicBlock::getSymbol(), and llvm::MIRParserImpl::initializeMachineFunction().
Return true if the begin label has a call site number associated with it.
Definition at line 1318 of file MachineFunction.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count().
Return true if the landing pad Eh symbol has an associated call site.
Definition at line 1297 of file MachineFunction.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::empty(), and Sym.
Referenced by llvm::VETargetLowering::emitSjLjDispatchBlock().
|
inline |
Definition at line 1222 of file MachineFunction.h.
Referenced by llvm::MIRPrinter::print().
|
inline |
Definition at line 1228 of file MachineFunction.h.
Referenced by llvm::X86FrameLowering::assignCalleeSavedSpillSlots(), llvm::WinException::beginFunction(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitPrologue(), llvm::WinException::endFunction(), getFixedObjectSize(), llvm::AArch64RegisterInfo::getLocalAddressRegister(), llvm::AArch64RegisterInfo::hasBasePointer(), llvm::AArch64FrameLowering::hasFPImpl(), llvm::X86FrameLowering::hasFPImpl(), needFuncLabels(), llvm::MIRPrinter::print(), llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized(), llvm::X86FrameLowering::processFunctionBeforeFrameFinalized(), llvm::X86FrameLowering::processFunctionBeforeFrameIndicesReplaced(), and llvm::AArch64FrameLowering::resolveFrameOffsetReference().
|
inline |
Definition at line 1225 of file MachineFunction.h.
Referenced by llvm::getEHScopeMembership(), and llvm::MIRPrinter::print().
|
inline |
Definition at line 1231 of file MachineFunction.h.
Referenced by llvm::MIRPrinter::print().
|
inline |
Returns true if the function contains any inline assembly.
Definition at line 797 of file MachineFunction.h.
Referenced by llvm::CodeViewDebug::beginFunctionImpl(), llvm::PPCRegisterInfo::getReservedRegs(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::InstructionSelect::selectMachineFunction(), and llvm::X86FrameLowering::spillFPBP().
|
inline |
Returns true if the landing pad has an associate index in wasm EH.
Definition at line 1275 of file MachineFunction.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count().
Referenced by llvm::WasmException::computeCallSiteTable(), and llvm::WasmException::endFunction().
|
inline |
Definition at line 806 of file MachineFunction.h.
Referenced by llvm::WinException::beginFunction(), llvm::X86InstrInfo::canMakeTailCallConditional(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::X86AsmPrinter::emitInstruction(), and llvm::MIRPrinter::print().
void MachineFunction::initTargetMachineFunctionInfo | ( | const TargetSubtargetInfo & | STI | ) |
Initialize the target specific MachineFunctionInfo.
Definition at line 253 of file MachineFunction.cpp.
References assert().
Referenced by llvm::MachineModuleInfo::getOrCreateMachineFunction().
|
inline |
Definition at line 957 of file MachineFunction.h.
References llvm::iplist_impl< IntrusiveListT, TraitsT >::insert(), MBB, and MBBI.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), createDedicatedExit(), createFrameHelperMachineFunction(), llvm::PeelingModuloScheduleExpander::CreateLCSSAExitingBlock(), llvm::SystemZ::emitBlockAfter(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::SystemZTargetLowering::emitEHSjLjSetJmp(), llvm::VETargetLowering::emitEHSjLjSetJmp(), llvm::AArch64TargetLowering::EmitF128CSEL(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::AVRTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::emitProbedAlloca(), emitReadCounterWidePseudo(), emitStackProbeInline(), emitXBegin(), llvm::AMDGPURegisterBankInfo::executeInWaterfallLoop(), llvm::VEInstrInfo::expandExtendStackPseudo(), llvm::SelectionDAGBuilder::FindMergedConditions(), INITIALIZE_PASS(), llvm::PPCFrameLowering::inlineStackProbe(), insertDivByZeroTrap(), loadM0FromVGPR(), loadMBUFScalarOperandsFromVGPR(), llvm::PeelSingleBlockLoop(), llvm::AArch64InstrInfo::probedStackAlloc(), llvm::ARMBlockPlacement::revertWhileToDoLoop(), llvm::MachineBasicBlock::splitAt(), splitBlockForLoop(), llvm::MachineBasicBlock::SplitCriticalEdge(), splitEdge(), splitEndLoopBB(), splitMBB(), and tryToSplitRestore().
|
inline |
Definition at line 1234 of file MachineFunction.h.
Referenced by llvm::MIRPrinter::print().
void MachineFunction::makeDebugValueSubstitution | ( | DebugInstrOperandPair | A, |
DebugInstrOperandPair | B, | ||
unsigned | SubReg = 0 |
||
) |
Create a substitution between one <instr,operand> value to a different, new value.
Definition at line 1008 of file MachineFunction.cpp.
References A, assert(), B, DebugOperandMemNumber, and DebugValueSubstitutions.
Referenced by substituteDebugValuesForInst().
void MachineFunction::moveAdditionalCallInfo | ( | const MachineInstr * | Old, |
const MachineInstr * | New | ||
) |
Move the call site info from Old
to \New call site info.
This function is used when we are replacing one call instruction with another one to the same callee.
Definition at line 979 of file MachineFunction.cpp.
References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase(), eraseAdditionalCallInfo(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), getCallInstr(), and llvm::MachineInstr::shouldUpdateAdditionalCallInfo().
Referenced by llvm::X86TargetLowering::EmitKCFICheck().
bool MachineFunction::needsFrameMoves | ( | ) | const |
True if this function needs frame moves for debug or exceptions.
Definition at line 691 of file MachineFunction.cpp.
References llvm::Module::debug_compile_units(), llvm::TargetOptions::ForceDwarfFrameSection, llvm::GlobalValue::getParent(), getTarget(), llvm::Function::needsUnwindTableEntry(), and llvm::TargetMachine::Options.
Referenced by llvm::M68kFrameLowering::eliminateCallFramePseudoInstr(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::X86FrameLowering::emitEpilogue(), llvm::M68kFrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::TargetFrameLowering::enableCFIFixup(), ExpandMOVImmSExti8(), llvm::PPCFrameLowering::inlineStackProbe(), llvm::AArch64FunctionInfo::needsDwarfUnwindInfo(), llvm::ARCRegisterInfo::needsFrameMoves(), and llvm::XCoreRegisterInfo::needsFrameMoves().
|
delete |
void MachineFunction::print | ( | raw_ostream & | OS, |
const SlotIndexes * | Indexes = nullptr |
||
) | const |
print - Print out the MachineFunction in a format suitable for debugging to the specified stream.
Definition at line 649 of file MachineFunction.cpp.
References getFunction(), getName(), getParent(), getProperties(), llvm::TargetSubtargetInfo::getRegisterInfo(), getSubtarget(), I, llvm::ModuleSlotTracker::incorporateFunction(), llvm::MachineRegisterInfo::livein_begin(), llvm::MachineRegisterInfo::livein_empty(), llvm::MachineRegisterInfo::livein_end(), OS, llvm::MachineFrameInfo::print(), llvm::MachineFunctionProperties::print(), llvm::MachineJumpTableInfo::print(), llvm::printReg(), and TRI.
Referenced by dump(), and llvm::SelectionDAGISel::runOnMachineFunction().
|
inline |
Definition at line 955 of file MachineFunction.h.
References MBB, and llvm::iplist_impl< IntrusiveListT, TraitsT >::push_back().
Referenced by llvm::AsmPrinter::doFinalization(), llvm::SystemZTargetLowering::emitEHSjLjSetJmp(), llvm::VETargetLowering::emitEHSjLjSetJmp(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::VETargetLowering::emitSjLjDispatchBlock(), llvm::SystemZXPLINKFrameLowering::inlineStackProbe(), llvm::SIInstrInfo::insertSimulatedTrap(), llvm::AMDGPULegalizerInfo::legalizeTrapEndpgm(), llvm::IRTranslator::runOnMachineFunction(), and llvm::FunctionLoweringInfo::set().
|
inline |
Definition at line 956 of file MachineFunction.h.
References MBB, and llvm::iplist_impl< IntrusiveListT, TraitsT >::push_front().
Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), and llvm::X86FrameLowering::adjustForSegmentedStacks().
|
inline |
Definition at line 943 of file MachineFunction.h.
Referenced by llvm::AsmPrinter::emitCFIInstruction().
|
inline |
Definition at line 944 of file MachineFunction.h.
|
inline |
Definition at line 970 of file MachineFunction.h.
References MBBI, and llvm::iplist_impl< IntrusiveListT, TraitsT >::remove().
Referenced by llvm::MachineBasicBlock::removeFromParent(), and llvm::IRTranslator::runOnMachineFunction().
|
inline |
Definition at line 971 of file MachineFunction.h.
References MBBI, and llvm::iplist_impl< IntrusiveListT, TraitsT >::remove().
|
inline |
removeFromMBBNumbering - Remove the specific machine basic block from our tracker, this is only really to be used by the MachineBasicBlock implementation.
Definition at line 1001 of file MachineFunction.h.
|
inline |
Definition at line 945 of file MachineFunction.h.
|
inline |
Definition at line 946 of file MachineFunction.h.
void MachineFunction::RenumberBlocks | ( | MachineBasicBlock * | MBB = nullptr | ) |
RenumberBlocks - This discards all of the MachineBasicBlock numbers and recomputes them.
This discards all of the MachineBasicBlock numbers and recomputes them.
This guarantees that the MBB numbers are sequential, dense, and match the ordering of the blocks within the function. If a specific MachineBasicBlock is specified, only that block and those after it are renumbered.
Definition at line 343 of file MachineFunction.cpp.
References assert(), begin(), empty(), end(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::MachineBasicBlock::getNumber(), MBB, MBBI, and llvm::MachineBasicBlock::setNumber().
Referenced by llvm::ARMBlockPlacement::revertWhileToDoLoop(), llvm::ARMBlockPlacement::runOnMachineFunction(), and sortBlocks().
|
inline |
Reset the instance as if it was just created.
Definition at line 655 of file MachineFunction.h.
|
inline |
Reset the currently registered delegate - otherwise assert.
Definition at line 661 of file MachineFunction.h.
References assert().
Referenced by llvm::RAIIDelegateInstaller::~RAIIDelegateInstaller(), and SlotIndexUpdateDelegate::~SlotIndexUpdateDelegate().
auto MachineFunction::salvageCopySSA | ( | MachineInstr & | MI, |
DenseMap< Register, DebugInstrOperandPair > & | DbgPHICache | ||
) |
Find the underlying defining instruction / operand for a COPY instruction while in SSA form.
Copies do not actually define values – they move them between registers. Labelling a COPY-like instruction with an instruction number is to be avoided as it makes value numbers non-unique later in compilation. This method follows the definition chain for any sequence of COPY-like instructions to find whatever non-COPY-like instruction defines the copied value; or for parameters, creates a DBG_PHI on entry. May insert instructions into the entry block! MI
The copy-like instruction to salvage. DbgPHICache
A container to cache already-solved COPYs.
Definition at line 1048 of file MachineFunction.cpp.
References assert(), MI, and TII.
Referenced by finalizeDebugInstrRefs().
auto MachineFunction::salvageCopySSAImpl | ( | MachineInstr & | MI | ) |
Definition at line 1073 of file MachineFunction.cpp.
References llvm::MachineInstr::all_defs(), assert(), llvm::BuildMI(), llvm::MachineInstr::getDebugInstrNum(), llvm::MachineBasicBlock::getFirstNonPHI(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), llvm::MachineInstr::isCopyLike(), llvm_unreachable, llvm::make_range(), MI, MRI, P, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::reverse(), SubReg, TII, and TRI.
|
inline |
setAlignment - Set the alignment of the function.
Definition at line 775 of file MachineFunction.h.
References A.
Referenced by llvm::MIRParserImpl::initializeMachineFunction(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
|
inline |
Definition at line 713 of file MachineFunction.h.
|
inline |
Definition at line 1217 of file MachineFunction.h.
Referenced by llvm::MIRParserImpl::initializeMachineFunction().
Map the begin label for a call site.
Definition at line 1306 of file MachineFunction.h.
Map the landing pad's EH symbol to the call site indexes.
Definition at line 877 of file MachineFunction.cpp.
References llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::end(), and Sym.
|
inline |
Definition at line 1220 of file MachineFunction.h.
Referenced by llvm::MIRParserImpl::initializeMachineFunction().
void MachineFunction::setDebugInstrNumberingCount | ( | unsigned | Num | ) |
Set value of DebugInstrNumberingCount field.
Avoid using this unless you're deserializing this data.
Definition at line 1004 of file MachineFunction.cpp.
References DebugInstrNumberingCount.
|
inline |
Set the delegate.
resetDelegate must be called before attempting to set.
Definition at line 669 of file MachineFunction.h.
References assert().
Referenced by llvm::RAIIDelegateInstaller::RAIIDelegateInstaller(), and SlotIndexUpdateDelegate::SlotIndexUpdateDelegate().
|
inline |
setCallsSetJmp - Set a flag that indicates if there's a call to a "returns twice" function.
Definition at line 792 of file MachineFunction.h.
References B.
Referenced by llvm::MIRParserImpl::initializeMachineFunction(), and llvm::FunctionLoweringInfo::set().
|
inline |
Definition at line 1223 of file MachineFunction.h.
Referenced by llvm::MIRParserImpl::initializeMachineFunction().
|
inline |
Definition at line 1229 of file MachineFunction.h.
Referenced by llvm::MIRParserImpl::initializeMachineFunction(), and llvm::FunctionLoweringInfo::set().
|
inline |
Definition at line 1226 of file MachineFunction.h.
Referenced by llvm::MIRParserImpl::initializeMachineFunction(), and llvm::FunctionLoweringInfo::set().
|
inline |
Definition at line 1232 of file MachineFunction.h.
Referenced by llvm::FunctionLoweringInfo::set().
|
inline |
Set a flag that indicates that the function contains inline assembly.
Definition at line 802 of file MachineFunction.h.
References B.
Referenced by llvm::SelectionDAGISel::runOnMachineFunction(), and llvm::InstructionSelect::selectMachineFunction().
|
inline |
Definition at line 809 of file MachineFunction.h.
Referenced by llvm::AArch64FrameLowering::emitEpilogue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::MIRParserImpl::initializeMachineFunction(), and llvm::X86FrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 1235 of file MachineFunction.h.
Referenced by llvm::MIRParserImpl::initializeMachineFunction().
|
inline |
Definition at line 677 of file MachineFunction.h.
Referenced by llvm::RAIIMFObserverInstaller::RAIIMFObserverInstaller(), and llvm::RAIIMFObserverInstaller::~RAIIMFObserverInstaller().
|
inline |
Indicates the Section this function belongs to.
Definition at line 687 of file MachineFunction.h.
void MachineFunction::setUseDebugInstrRef | ( | bool | UseInstrRef | ) |
Set whether this function will use instruction referencing or not.
Definition at line 1301 of file MachineFunction.cpp.
References UseDebugInstrRef.
Referenced by llvm::SelectionDAGISelPass::run(), and llvm::SelectionDAGISelLegacy::runOnMachineFunction().
|
inline |
Collect information used to emit debugging information of a variable in a stack slot.
Definition at line 1346 of file MachineFunction.h.
References llvm::SmallVectorImpl< T >::emplace_back().
Referenced by llvm::MIRParserImpl::initializeFrameInfo(), llvm::MIRParserImpl::parseStackObjectsDebugInfo(), processDbgDeclare(), and processIfEntryValueDbgDeclare().
|
inline |
Collect information used to emit debugging information of a variable in the entry value of a register.
Definition at line 1353 of file MachineFunction.h.
References llvm::SmallVectorImpl< T >::emplace_back(), and Reg.
|
inline |
Map the landing pad to its index. Used for Wasm exception handling.
Definition at line 1270 of file MachineFunction.h.
References Index.
Referenced by mapWasmLandingPadIndex().
bool MachineFunction::shouldSplitStack | ( | ) | const |
Should we be emitting segmented stack stuff for the function.
Definition at line 329 of file MachineFunction.cpp.
References getFunction(), and llvm::Function::hasFnAttribute().
Referenced by llvm::X86FrameLowering::emitPrologue(), llvm::X86FrameLowering::enableShrinkWrapping(), and llvm::AsmPrinter::SetupMachineFunction().
bool MachineFunction::shouldUseDebugInstrRef | ( | ) | const |
Determine whether, in the current machine configuration, we should use instruction referencing or not.
Definition at line 1279 of file MachineFunction.cpp.
References llvm::debuginfoShouldUseDebugInstrRef(), F, getTarget(), and llvm::None.
Referenced by llvm::SelectionDAGISelPass::run(), llvm::SelectionDAGISel::runOnMachineFunction(), and llvm::SelectionDAGISelLegacy::runOnMachineFunction().
|
inline |
Definition at line 948 of file MachineFunction.h.
Referenced by llvm::AsmPrinter::emitBBAddrMapSection(), getJTISymbol(), GCEmptyBasicBlocks::runOnMachineFunction(), llvm::InstructionSelect::selectMachineFunction(), and llvm::GraphTraits< DOTMachineFuncInfo * >::size().
|
inline |
Definition at line 976 of file MachineFunction.h.
Referenced by llvm::sortBasicBlocksAndUpdateBranches().
Definition at line 960 of file MachineFunction.h.
References MBBI, and llvm::iplist_impl< IntrusiveListT, TraitsT >::splice().
Referenced by llvm::MachineBasicBlock::moveAfter(), and llvm::MachineBasicBlock::moveBefore().
Definition at line 966 of file MachineFunction.h.
References MBBI, and llvm::iplist_impl< IntrusiveListT, TraitsT >::splice().
|
inline |
Definition at line 963 of file MachineFunction.h.
References MBB, and llvm::iplist_impl< IntrusiveListT, TraitsT >::splice().
void MachineFunction::substituteDebugValuesForInst | ( | const MachineInstr & | Old, |
MachineInstr & | New, | ||
unsigned | MaxOperand = UINT_MAX |
||
) |
Create substitutions for any tracked values in Old
, to point at New
.
Needed when we re-create an instruction during optimization, which has the same signature (i.e., def operands in the same place) but a modified instruction type, flags, or otherwise. An example: X86 moves are sometimes transformed into equivalent LEAs. If the two instructions are not the same opcode, limit which operands to examine for substitutions to the first N operands by setting MaxOperand
.
Definition at line 1019 of file MachineFunction.cpp.
References assert(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), I, makeDebugValueSubstitution(), and llvm::MachineInstr::peekDebugInstrNum().
|
inline |
Tries to get the global and target flags for a call site, if the instruction is a call to a global.
Definition at line 1197 of file MachineFunction.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::lookup(), and MI.
bool MachineFunction::useDebugInstrRef | ( | ) | const |
Returns true if the function's variable locations are tracked with instruction referencing.
Definition at line 1297 of file MachineFunction.cpp.
References UseDebugInstrRef.
Referenced by llvm::LiveDebugVariables::analyze(), llvm::InstrEmitter::InstrEmitter(), llvm::FastISel::lowerDbgDeclare(), llvm::FastISel::lowerDbgValue(), llvm::MIRPrinter::print(), and llvm::SelectionDAGISel::runOnMachineFunction().
bool MachineFunction::verify | ( | LiveIntervals * | LiveInts, |
SlotIndexes * | Indexes, | ||
const char * | Banner = nullptr , |
||
raw_ostream * | OS = nullptr , |
||
bool | AbortOnError = true |
||
) | const |
Run the current MachineFunction through the machine code verifier, useful for debugger use.
Definition at line 434 of file MachineVerifier.cpp.
References OS.
bool MachineFunction::verify | ( | Pass * | p = nullptr , |
const char * | Banner = nullptr , |
||
raw_ostream * | OS = nullptr , |
||
bool | AbortOnError = true |
||
) | const |
Run the current MachineFunction through the machine code verifier, useful for debugger use.
Definition at line 429 of file MachineVerifier.cpp.
References OS.
Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), and llvm::MIRParserImpl::initializeMachineFunction().
void MachineFunction::viewCFG | ( | ) | const |
viewCFG - This function is meant for use from the debugger.
You can just say 'call F->viewCFG()' and a ghostview window should pop up from the program, displaying the CFG of the current function with the code for each basic block inside. This depends on there being a 'dot' and 'gv' program in your path.
Definition at line 740 of file MachineFunction.cpp.
References llvm::errs(), getName(), and llvm::ViewGraph().
void MachineFunction::viewCFGOnly | ( | ) | const |
viewCFGOnly - This function is meant for use from the debugger.
It works just like viewCFG, but it does not include the contents of basic blocks into the nodes, just the label. If you are only interested in the CFG this can make the graph smaller.
Definition at line 750 of file MachineFunction.cpp.
References llvm::errs(), getName(), and llvm::ViewGraph().
|
friend |
Definition at line 516 of file MachineFunction.h.
unsigned llvm::MachineFunction::DebugInstrNumberingCount = 0 |
A count of how many instructions in the function have had numbers assigned to them.
Used for debug value tracking, to determine the next instruction number.
Definition at line 529 of file MachineFunction.h.
Referenced by setDebugInstrNumberingCount().
A reserved operand number representing the instructions memory operand, for instructions that have a stack spill fused into them.
Definition at line 645 of file MachineFunction.h.
Referenced by makeDebugValueSubstitution().
DenseMap<unsigned, DebugPHIRegallocPos> llvm::MachineFunction::DebugPHIPositions |
Map of debug instruction numbers to the position of their PHI instructions during register allocation.
See DebugPHIRegallocPos.
Definition at line 586 of file MachineFunction.h.
Referenced by llvm::LiveDebugVariables::LDVImpl::emitDebugValues().
SmallVector<DebugSubstitution, 8> llvm::MachineFunction::DebugValueSubstitutions |
Debug value substitutions: a collection of DebugSubstitution objects, recording changes in where a value is defined.
For example, when one instruction is substituted for another. Keeping a record allows recovery of variable locations after compilation finishes.
Definition at line 568 of file MachineFunction.h.
Referenced by makeDebugValueSubstitution(), and llvm::MIRPrinter::print().
bool llvm::MachineFunction::UseDebugInstrRef = false |
Flag for whether this function contains DBG_VALUEs (false) or DBG_INSTR_REF (true).
Definition at line 590 of file MachineFunction.h.
Referenced by setUseDebugInstrRef(), and useDebugInstrRef().
VariableDbgInfoMapTy llvm::MachineFunction::VariableDbgInfos |
Definition at line 524 of file MachineFunction.h.