LLVM 19.0.0git
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
llvm::MachineFunction Class Reference

#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  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 LLVMTargetMachine &Target, const TargetSubtargetInfo &STI, unsigned FunctionNum, MachineModuleInfo &MMI)
 
 MachineFunction (const MachineFunction &)=delete
 
MachineFunctionoperator= (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)
 
GISelChangeObservergetObserver () const
 
MachineModuleInfogetMMI () const
 
MCContextgetContext () const
 
MCSectiongetSection () const
 Returns the Section this function belongs to.
 
void setSection (MCSection *S)
 Indicates the Section this function belongs to.
 
PseudoSourceValueManagergetPSVManager () const
 
const DataLayoutgetDataLayout () const
 Return the DataLayout attached to the Module associated to this MF.
 
FunctiongetFunction ()
 Return the LLVM function that this machine code represents.
 
const FunctiongetFunction () 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.
 
bool hasBBLabels () const
 Returns true if basic block labels are to be generated for this function.
 
void setBBSectionsType (BasicBlockSection V)
 
void assignBeginEndSections ()
 Assign IsBeginSection IsEndSection fields for basic blocks in this function.
 
const LLVMTargetMachinegetTarget () const
 getTarget - Return the target machine this machine code is compiled with
 
const TargetSubtargetInfogetSubtarget () 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.
 
MachineRegisterInfogetRegInfo ()
 getRegInfo - Return information about the registers currently in use.
 
const MachineRegisterInfogetRegInfo () const
 
MachineFrameInfogetFrameInfo ()
 getFrameInfo - Return the frame info object for the current function.
 
const MachineFrameInfogetFrameInfo () const
 
const MachineJumpTableInfogetJumpTableInfo () const
 getJumpTableInfo - Return the jump table info object for the current function.
 
MachineJumpTableInfogetJumpTableInfo ()
 
MachineJumpTableInfogetOrCreateJumpTableInfo (unsigned JTEntryKind)
 getOrCreateJumpTableInfo - Get the JumpTableInfo for this function, if it does already exist, allocate one.
 
MachineConstantPoolgetConstantPool ()
 getConstantPool - Return the constant pool object for the current function.
 
const MachineConstantPoolgetConstantPool () const
 
const WasmEHFuncInfogetWasmEHFuncInfo () const
 getWasmEHFuncInfo - Return information about how the current function uses Wasm exception handling.
 
WasmEHFuncInfogetWasmEHFuncInfo ()
 
const WinEHFuncInfogetWinEHFuncInfo () const
 getWinEHFuncInfo - Return information about how the current function uses Windows exception handling.
 
WinEHFuncInfogetWinEHFuncInfo ()
 
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 MachineFunctionPropertiesgetProperties () const
 Get the function properties.
 
MachineFunctionPropertiesgetProperties ()
 
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.
 
MachineFunctionInfocloneInfoFrom (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.
 
MachineBasicBlockgetBlockNumbered (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.
 
void RenumberBlocks (MachineBasicBlock *MBBFrom=nullptr)
 RenumberBlocks - This discards all of the MachineBasicBlock numbers and recomputes them.
 
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, 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, 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 MachineBasicBlockfront () const
 
MachineBasicBlockfront ()
 
const MachineBasicBlockback () const
 
MachineBasicBlockback ()
 
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.
 
MachineInstrCreateMachineInstr (const MCInstrDesc &MCID, DebugLoc DL, bool NoImplicit=false)
 CreateMachineInstr - Allocate a new MachineInstr.
 
MachineInstrCloneMachineInstr (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.
 
MachineInstrcloneMachineInstrBundle (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.
 
MachineBasicBlockCreateMachineBasicBlock (const BasicBlock *BB=nullptr, std::optional< UniqueBBID > BBID=std::nullopt)
 CreateMachineBasicBlock - Allocate a new MachineBasicBlock.
 
void deleteMachineBasicBlock (MachineBasicBlock *MBB)
 DeleteMachineBasicBlock - Delete the given MachineBasicBlock.
 
MachineMemOperandgetMachineMemOperand (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.
 
MachineMemOperandgetMachineMemOperand (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)
 
MachineMemOperandgetMachineMemOperand (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)
 
MachineMemOperandgetMachineMemOperand (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.
 
MachineMemOperandgetMachineMemOperand (const MachineMemOperand *MMO, int64_t Offset, LocationSize Size)
 
MachineMemOperandgetMachineMemOperand (const MachineMemOperand *MMO, int64_t Offset, uint64_t Size)
 
MachineMemOperandgetMachineMemOperand (const MachineMemOperand *MMO, const MachinePointerInfo &PtrInfo, LocationSize Size)
 getMachineMemOperand - Allocate a new MachineMemOperand by copying an existing one, replacing only the MachinePointerInfo and size.
 
MachineMemOperandgetMachineMemOperand (const MachineMemOperand *MMO, const MachinePointerInfo &PtrInfo, LLT Ty)
 
MachineMemOperandgetMachineMemOperand (const MachineMemOperand *MMO, const MachinePointerInfo &PtrInfo, uint64_t Size)
 
MachineMemOperandgetMachineMemOperand (const MachineMemOperand *MMO, const AAMDNodes &AAInfo)
 Allocate a new MachineMemOperand by copying an existing one, replacing only AliasAnalysis information.
 
MachineMemOperandgetMachineMemOperand (const MachineMemOperand *MMO, MachineMemOperand::Flags Flags)
 Allocate a new MachineMemOperand by copying an existing one, replacing the flags.
 
MachineOperandallocateOperandArray (OperandCapacity Cap)
 Allocate an array of MachineOperands.
 
void deallocateOperandArray (OperandCapacity Cap, MachineOperand *Array)
 Dellocate an array of MachineOperands and recycle the memory.
 
uint32_tallocateRegMask ()
 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)
 Allocate and construct an extra info structure for a MachineInstr.
 
const charcreateExternalSymbolName (StringRef Name)
 Allocate a string and populate it with the given external symbol name.
 
MCSymbolgetJTISymbol (unsigned JTI, MCContext &Ctx, bool isLinkerPrivate=false) const
 getJTISymbol - Return the MCSymbol for the specified non-empty jump table.
 
MCSymbolgetPICBaseSymbol () 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.
 
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.
 
VariableDbgInfoMapTygetVariableDbgInfo ()
 
const VariableDbgInfoMapTygetVariableDbgInfo () 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 CallSiteInfoMapgetCallSitesInfo () 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, DebugPHIRegallocPosDebugPHIPositions
 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 isOutlined () const
 
void setIsOutlined (bool V)
 
LandingPadInfogetOrCreateLandingPadInfo (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.
 
MCSymboladdLandingPad (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 eraseCallSiteInfo (const MachineInstr *MI)
 Following functions update call site info.
 
void copyCallSiteInfo (const MachineInstr *Old, const MachineInstr *New)
 Copy the call site info from Old to \ New.
 
void moveCallSiteInfo (const MachineInstr *Old, const MachineInstr *New)
 Move the call site info from Old to \New call site info.
 

Detailed Description

Definition at line 259 of file MachineFunction.h.

Member Typedef Documentation

◆ const_iterator

Definition at line 905 of file MachineFunction.h.

◆ const_reverse_iterator

Definition at line 906 of file MachineFunction.h.

◆ DebugInstrOperandPair

Pair of instruction number and operand number.

Definition at line 524 of file MachineFunction.h.

◆ iterator

Definition at line 904 of file MachineFunction.h.

◆ OperandCapacity

Definition at line 1101 of file MachineFunction.h.

◆ reverse_iterator

Definition at line 907 of file MachineFunction.h.

◆ VariableDbgInfoMapTy

Definition at line 511 of file MachineFunction.h.

Constructor & Destructor Documentation

◆ MachineFunction() [1/2]

MachineFunction::MachineFunction ( Function F,
const LLVMTargetMachine Target,
const TargetSubtargetInfo STI,
unsigned  FunctionNum,
MachineModuleInfo MMI 
)

Definition at line 164 of file MachineFunction.cpp.

References F.

◆ MachineFunction() [2/2]

llvm::MachineFunction::MachineFunction ( const MachineFunction )
delete

◆ ~MachineFunction()

MachineFunction::~MachineFunction ( )

Definition at line 258 of file MachineFunction.cpp.

Member Function Documentation

◆ addCallSiteInfo()

void llvm::MachineFunction::addCallSiteInfo ( const MachineInstr CallI,
CallSiteInfo &&  CallInfo 
)
inline

◆ addCatchretTarget()

void llvm::MachineFunction::addCatchretTarget ( MCSymbol Target)
inline

Add the specified symbol to the list of valid catchret targets for Windows EHCont Guard.

Definition at line 1174 of file MachineFunction.h.

◆ addCodeViewAnnotation()

void llvm::MachineFunction::addCodeViewAnnotation ( MCSymbol Label,
MDNode MD 
)
inline

Record annotations associated with a particular label.

Definition at line 1285 of file MachineFunction.h.

◆ addFrameInst()

unsigned MachineFunction::addFrameInst ( const MCCFIInstruction Inst)

◆ addInvoke()

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 783 of file MachineFunction.cpp.

References llvm::LandingPadInfo::BeginLabels, llvm::LandingPadInfo::EndLabels, and getOrCreateLandingPadInfo().

◆ addLandingPad()

MCSymbol * MachineFunction::addLandingPad ( MachineBasicBlock LandingPad)

◆ addLiveIn()

Register MachineFunction::addLiveIn ( MCRegister  PReg,
const TargetRegisterClass RC 
)

◆ addLongjmpTarget()

void llvm::MachineFunction::addLongjmpTarget ( MCSymbol Target)
inline

Add the specified symbol to the list of valid longjmp targets for Windows Control Flow Guard.

Definition at line 1164 of file MachineFunction.h.

◆ addToMBBNumbering()

unsigned llvm::MachineFunction::addToMBBNumbering ( MachineBasicBlock MBB)
inline

Adds the MBB to the internal numbering.

Returns the unique number assigned to the MBB.

Definition at line 977 of file MachineFunction.h.

References MBB.

Referenced by llvm::ilist_callback_traits< MachineBasicBlock >::addNodeToList().

◆ allocateOperandArray()

MachineOperand * llvm::MachineFunction::allocateOperandArray ( OperandCapacity  Cap)
inline

Allocate an array of MachineOperands.

This is only intended for use by internal MachineInstr functions.

Definition at line 1105 of file MachineFunction.h.

References llvm::ArrayRecycler< T, Align >::allocate(), and Allocator.

Referenced by llvm::MachineInstr::addOperand().

◆ allocateRegMask()

uint32_t * MachineFunction::allocateRegMask ( )

◆ allocateShuffleMask()

ArrayRef< int > MachineFunction::allocateShuffleMask ( ArrayRef< int >  Mask)

◆ assignBeginEndSections()

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 382 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().

◆ back() [1/2]

MachineBasicBlock & llvm::MachineFunction::back ( )
inline

Definition at line 937 of file MachineFunction.h.

◆ back() [2/2]

const MachineBasicBlock & llvm::MachineFunction::back ( ) const
inline

◆ begin() [1/2]

iterator llvm::MachineFunction::begin ( )
inline

◆ begin() [2/2]

const_iterator llvm::MachineFunction::begin ( ) const
inline

Definition at line 923 of file MachineFunction.h.

◆ callsEHReturn()

bool llvm::MachineFunction::callsEHReturn ( ) const
inline

◆ callsUnwindInit()

bool llvm::MachineFunction::callsUnwindInit ( ) const
inline

◆ cloneInfo()

template<typename Ty >
Ty * llvm::MachineFunction::cloneInfo ( const Ty &  Old)
inline

◆ cloneInfoFrom()

MachineFunctionInfo * llvm::MachineFunction::cloneInfoFrom ( const MachineFunction OrigMF,
const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &  Src2DstMBB 
)
inline

Definition at line 834 of file MachineFunction.h.

References Allocator, assert(), and llvm::MachineFunctionInfo::clone().

◆ CloneMachineInstr()

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 406 of file MachineFunction.cpp.

Referenced by llvm::SwingSchedulerDAG::applyInstrChange(), cloneMachineInstrBundle(), llvm::WebAssemblyDebugValueManager::cloneSink(), llvm::TargetInstrInfo::commuteInstructionImpl(), llvm::SwingSchedulerDAG::fixupRegisterOverlaps(), for(), genAlternativeDpCodeSequence(), 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().

◆ cloneMachineInstrBundle()

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() intead.

Definition at line 411 of file MachineFunction.cpp.

References llvm::MachineInstr::bundleWithPred(), CloneMachineInstr(), copyCallSiteInfo(), llvm::ilist_node_impl< OptionsT >::getIterator(), I, llvm::MachineBasicBlock::insert(), MBB, and llvm::MachineInstr::shouldUpdateCallSiteInfo().

Referenced by llvm::TargetInstrInfo::duplicate().

◆ copyCallSiteInfo()

void MachineFunction::copyCallSiteInfo ( 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 911 of file MachineFunction.cpp.

References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), eraseCallSiteInfo(), getCallInstr(), and llvm::MachineInstr::shouldUpdateCallSiteInfo().

Referenced by cloneMachineInstrBundle().

◆ createExternalSymbolName()

const char * MachineFunction::createExternalSymbolName ( StringRef  Name)

◆ CreateMachineBasicBlock()

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 461 of file MachineFunction.cpp.

References llvm::Labels, llvm::List, MBB, and llvm::MachineBasicBlock::setBBID().

Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::SwitchCG::SwitchLowering::buildJumpTable(), llvm::AArch64PAuth::checkAuthenticatedRegister(), createFrameHelperMachineFunction(), llvm::PeelingModuloScheduleExpander::CreateLCSSAExitingBlock(), llvm::SystemZ::emitBlockAfter(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::VETargetLowering::emitEHSjLjSetJmp(), llvm::AArch64TargetLowering::EmitF128CSEL(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::AVRTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::emitProbedAlloca(), emitReadCounterWidePseudo(), llvm::VETargetLowering::emitSjLjDispatchBlock(), emitXBegin(), llvm::AMDGPURegisterBankInfo::executeInWaterfallLoop(), llvm::VEInstrInfo::expandExtendStackPseudo(), llvm::SelectionDAGBuilder::FindMergedConditions(), INITIALIZE_PASS(), llvm::PPCFrameLowering::inlineStackProbe(), llvm::SystemZXPLINKFrameLowering::inlineStackProbe(), insertDivByZeroTrap(), llvm::AMDGPULegalizerInfo::legalizeTrapEndpgm(), loadM0FromVGPR(), loadMBUFScalarOperandsFromVGPR(), llvm::PeelSingleBlockLoop(), llvm::AArch64InstrInfo::probedStackAlloc(), llvm::ARMBlockPlacement::revertWhileToDoLoop(), llvm::IRTranslator::runOnMachineFunction(), llvm::FunctionLoweringInfo::set(), split(), llvm::MachineBasicBlock::splitAt(), splitBlockForLoop(), llvm::MachineBasicBlock::SplitCriticalEdge(), splitEdge(), splitMBB(), and tryToSplitRestore().

◆ CreateMachineInstr()

MachineInstr * MachineFunction::CreateMachineInstr ( const MCInstrDesc MCID,
DebugLoc  DL,
bool  NoImplicit = false 
)

◆ createMIExtraInfo()

MachineInstr::ExtraInfo * MachineFunction::createMIExtraInfo ( ArrayRef< MachineMemOperand * >  MMOs,
MCSymbol PreInstrSymbol = nullptr,
MCSymbol PostInstrSymbol = nullptr,
MDNode HeapAllocMarker = nullptr,
MDNode PCSections = nullptr,
uint32_t  CFIType = 0 
)

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 573 of file MachineFunction.cpp.

◆ deallocateOperandArray()

void llvm::MachineFunction::deallocateOperandArray ( OperandCapacity  Cap,
MachineOperand Array 
)
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 1112 of file MachineFunction.h.

References llvm::ArrayRecycler< T, Align >::deallocate().

Referenced by llvm::MachineInstr::addOperand(), and deleteMachineInstr().

◆ deleteMachineBasicBlock()

void MachineFunction::deleteMachineBasicBlock ( MachineBasicBlock MBB)

◆ deleteMachineInstr()

void MachineFunction::deleteMachineInstr ( MachineInstr MI)

◆ dump()

LLVM_DUMP_METHOD void MachineFunction::dump ( ) const

dump - Print the current MachineFunction to cerr, useful for debugger use.

Definition at line 604 of file MachineFunction.cpp.

References llvm::dbgs(), and print().

Referenced by llvm::A57ChainingConstraint::apply().

◆ empty()

bool llvm::MachineFunction::empty ( ) const
inline

Definition at line 933 of file MachineFunction.h.

Referenced by llvm::SITargetLowering::finalizeLowering(), and RenumberBlocks().

◆ end() [1/2]

iterator llvm::MachineFunction::end ( )
inline

◆ end() [2/2]

const_iterator llvm::MachineFunction::end ( ) const
inline

Definition at line 925 of file MachineFunction.h.

◆ ensureAlignment()

void llvm::MachineFunction::ensureAlignment ( Align  A)
inline

ensureAlignment - Make sure the function is at least A bytes aligned.

Definition at line 772 of file MachineFunction.h.

References A.

Referenced by llvm::ARMBasicBlockUtils::computeBlockSize(), and llvm::R600AsmPrinter::runOnMachineFunction().

◆ erase() [1/2]

void llvm::MachineFunction::erase ( iterator  MBBI)
inline

◆ erase() [2/2]

void llvm::MachineFunction::erase ( MachineBasicBlock MBBI)
inline

◆ eraseCallSiteInfo()

void MachineFunction::eraseCallSiteInfo ( 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 899 of file MachineFunction.cpp.

References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase(), getCallInstr(), and MI.

Referenced by copyCallSiteInfo(), moveCallSiteInfo(), and llvm::TargetInstrInfo::ReplaceTailWithBranchTo().

◆ exposesReturnsTwice()

bool llvm::MachineFunction::exposesReturnsTwice ( ) const
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 780 of file MachineFunction.h.

Referenced by llvm::CodeViewDebug::beginFunctionImpl(), llvm::PPCFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::needsFP(), and llvm::MIRPrinter::print().

◆ finalizeDebugInstrRefs()

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 1161 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().

◆ front() [1/2]

MachineBasicBlock & llvm::MachineFunction::front ( )
inline

Definition at line 935 of file MachineFunction.h.

◆ front() [2/2]

const MachineBasicBlock & llvm::MachineFunction::front ( ) const
inline

Definition at line 934 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::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(), findScratchNonCalleeSaveRegister(), llvm::getEHScopeMembership(), llvm::rdf::FuncNode::getEntryBlock(), llvm::GraphTraits< DOTMachineFuncInfo * >::getEntryNode(), llvm::getFunctionLiveInPhysReg(), llvm::CSKYInstrInfo::getGlobalBaseReg(), llvm::SparcInstrInfo::getGlobalBaseReg(), llvm::VEInstrInfo::getGlobalBaseReg(), llvm::MipsFunctionInfo::initGlobalBaseReg(), llvm::SlotIndexes::insertMBBInMaps(), isAlwaysIndirectTarget(), isSignExtendedW(), llvm::LiveVariables::MarkVirtRegAliveInBlock(), PrevCrossBBInst(), llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized(), llvm::SystemZELFFrameLowering::processFunctionBeforeFrameFinalized(), llvm::IRTranslator::runOnMachineFunction(), llvm::LiveVariables::runOnMachineFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::ARMBlockPlacement::runOnMachineFunction(), llvm::sortBasicBlocksAndUpdateBranches(), sortBlocks(), and updateLiveness().

◆ getAlignment()

Align llvm::MachineFunction::getAlignment ( ) const
inline

getAlignment - Return the alignment of the function.

Definition at line 766 of file MachineFunction.h.

Referenced by llvm::WinException::beginFunclet(), llvm::MipsAsmPrinter::emitFunctionEntryLabel(), and llvm::MIRPrinter::print().

◆ getBlockNumbered()

MachineBasicBlock * llvm::MachineFunction::getBlockNumbered ( unsigned  N) const
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 851 of file MachineFunction.h.

References assert(), and N.

Referenced by llvm::ARMBasicBlockUtils::adjustBBOffsetsAfter(), llvm::SplitAnalysis::getFirstSplitPoint(), llvm::SplitAnalysis::getLastSplitPoint(), llvm::WebAssemblyFunctionInfo::initializeBaseYamlFields(), llvm::LiveRangeCalc::isJointlyDominated(), llvm::SPIRVCallLowering::lowerCall(), maybeUpdateTerminator(), llvm::SwiftErrorValueTracking::propagateVRegs(), llvm::LiveVariables::recomputeForSingleDefVirtReg(), and llvm::SplitEditor::splitLiveThroughBlock().

◆ getCallSiteBeginLabel()

unsigned llvm::MachineFunction::getCallSiteBeginLabel ( MCSymbol BeginLabel) const
inline

Get the call site number for a begin label.

Definition at line 1273 of file MachineFunction.h.

References assert(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::lookup().

Referenced by llvm::EHStreamer::computeCallSiteTable().

◆ getCallSiteLandingPad()

SmallVectorImpl< unsigned > & llvm::MachineFunction::getCallSiteLandingPad ( MCSymbol Sym)
inline

Get the call site indexes for a landing pad EH symbol.

Definition at line 1252 of file MachineFunction.h.

References assert(), and Sym.

Referenced by llvm::VETargetLowering::emitSjLjDispatchBlock().

◆ getCallSitesInfo()

const CallSiteInfoMap & llvm::MachineFunction::getCallSitesInfo ( ) const
inline

◆ getCatchretTargets()

const std::vector< MCSymbol * > & llvm::MachineFunction::getCatchretTargets ( ) const
inline

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 1168 of file MachineFunction.h.

Referenced by llvm::WinException::endFunction().

◆ getCodeViewAnnotations()

ArrayRef< std::pair< MCSymbol *, MDNode * > > llvm::MachineFunction::getCodeViewAnnotations ( ) const
inline

Definition at line 1289 of file MachineFunction.h.

Referenced by llvm::CodeViewDebug::endFunctionImpl().

◆ getConstantPool() [1/2]

MachineConstantPool * llvm::MachineFunction::getConstantPool ( )
inline

◆ getConstantPool() [2/2]

const MachineConstantPool * llvm::MachineFunction::getConstantPool ( ) const
inline

Definition at line 751 of file MachineFunction.h.

◆ getContext()

MCContext & llvm::MachineFunction::getContext ( ) const
inline

◆ getDataLayout()

const DataLayout & MachineFunction::getDataLayout ( ) const

Return the DataLayout attached to the Module associated to this MF.

Definition at line 308 of file MachineFunction.cpp.

References llvm::Module::getDataLayout(), and llvm::GlobalValue::getParent().

Referenced by llvm::X86TargetLowering::BuildFILD(), llvm::ScheduleDAGInstrs::buildSchedGraph(), llvm::LoongArchTargetLowering::CanLowerReturn(), llvm::RISCVTargetLowering::CanLowerReturn(), CC_AArch64_Custom_Block(), CC_ARM_AAPCS_Custom_Aggregate(), llvm::CallLowering::checkReturnTypeForCallConv(), llvm::FunctionLoweringInfo::ComputePHILiveOutRegInfo(), llvm::SwiftErrorValueTracking::createEntriesInEntryBlock(), llvm::FunctionLoweringInfo::CreateRegs(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::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::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::PPCFunctionInfo::getTOCOffsetSymbol(), llvm::MachinePointerInfo::getUnknownStack(), 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::X86TargetLowering::markLibCallAttributes(), llvm::CombinerHelper::matchCombineExtractedVectorLoad(), llvm::CombinerHelper::matchLoadOrCombine(), llvm::CombinerHelper::matchPtrAddZero(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::AsmPrinter::PrintSpecial(), processDbgDeclare(), llvm::SwiftErrorValueTracking::propagateVRegs(), llvm::SITargetLowering::requiresUniformRegister(), and llvm::FunctionLoweringInfo::set().

◆ getDenormalMode()

DenormalMode MachineFunction::getDenormalMode ( const fltSemantics FPType) const

◆ getEntryValueVariableDbgInfo()

auto llvm::MachineFunction::getEntryValueVariableDbgInfo ( ) const
inline

Returns the collection of variables for which we have debug info and that have been assigned an entry value register.

Definition at line 1343 of file MachineFunction.h.

References llvm::make_filter_range().

Referenced by llvm::MIRPrinter::convertEntryValueObjects().

◆ getFilterIDFor()

int MachineFunction::getFilterIDFor ( ArrayRef< unsigned TyIds)

Return the id of the filter encoded by TyIds. This is function wide.

Definition at line 849 of file MachineFunction.cpp.

References llvm::append_range(), and llvm::ArrayRef< T >::size().

Referenced by addLandingPad().

◆ getFilterIds()

const std::vector< unsigned > & llvm::MachineFunction::getFilterIds ( ) const
inline

Return a reference to the typeids encoding filters used in the current function.

Definition at line 1300 of file MachineFunction.h.

Referenced by llvm::EHStreamer::computeActionsTable(), llvm::EHStreamer::emitExceptionTable(), and llvm::EHStreamer::emitTypeInfos().

◆ getFrameInfo() [1/2]

MachineFrameInfo & llvm::MachineFunction::getFrameInfo ( )
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 734 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::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::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::MipsAsmPrinter::emitFrameDirective(), llvm::HexagonDAGToDAGISel::emitFunctionEntryCode(), llvm::SystemZAsmPrinter::emitFunctionEntryLabel(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::TargetLoweringBase::emitPatchPoint(), 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(), enableAllocFrameElim(), llvm::CCState::ensureMaxAlignment(), llvm::BaseIndexOffset::equalBaseIndex(), llvm::MipsFrameLowering::estimateStackSize(), llvm::VEInstrInfo::expandGetStackTopPseudo(), llvm::ARMTargetLowering::finalizeLowering(), fixupFuncForFI(), foldInlineAsmMemOperand(), llvm::TargetInstrInfo::foldMemoryOperand(), llvm::RISCVInstrInfo::foldMemoryOperandImpl(), 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::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::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(), 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::hasFP(), llvm::SIFrameLowering::hasFP(), llvm::ARCFrameLowering::hasFP(), llvm::ARMFrameLowering::hasFP(), llvm::AVRFrameLowering::hasFP(), llvm::CSKYFrameLowering::hasFP(), llvm::HexagonFrameLowering::hasFP(), llvm::LoongArchFrameLowering::hasFP(), llvm::M68kFrameLowering::hasFP(), llvm::MipsFrameLowering::hasFP(), llvm::MSP430FrameLowering::hasFP(), llvm::PPCFrameLowering::hasFP(), llvm::RISCVFrameLowering::hasFP(), llvm::SparcFrameLowering::hasFP(), llvm::SystemZELFFrameLowering::hasFP(), llvm::SystemZXPLINKFrameLowering::hasFP(), llvm::VEFrameLowering::hasFP(), llvm::WebAssemblyFrameLowering::hasFP(), llvm::X86FrameLowering::hasFP(), llvm::XCoreFrameLowering::hasFP(), llvm::XtensaFrameLowering::hasFP(), 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::SIFrameLowering::processFunctionBeforeFrameFinalized(), llvm::HexagonFrameLowering::processFunctionBeforeFrameFinalized(), llvm::MSP430FrameLowering::processFunctionBeforeFrameFinalized(), llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized(), llvm::XCoreFrameLowering::processFunctionBeforeFrameFinalized(), llvm::recomputeLivenessFlags(), requiresAAPCSFrameRecord(), 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(), llvm::InstructionSelect::runOnMachineFunction(), llvm::IRTranslator::runOnMachineFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::AVRFrameAnalyzer::runOnMachineFunction(), llvm::HexagonDAGToDAGISel::SelectAddrFI(), llvm::HexagonDAGToDAGISel::SelectFrameIndex(), 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(), spillIncomingStatepointValue(), llvm::ARMSubtarget::splitFramePointerPush(), 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().

◆ getFrameInfo() [2/2]

const MachineFrameInfo & llvm::MachineFunction::getFrameInfo ( ) const
inline

Definition at line 735 of file MachineFunction.h.

◆ getFrameInstructions()

const std::vector< MCCFIInstruction > & llvm::MachineFunction::getFrameInstructions ( ) const
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 1149 of file MachineFunction.h.

Referenced by llvm::AsmPrinter::emitCFIInstruction(), maybeMoveCFI(), and llvm::X86FrameLowering::mergeSPUpdates().

◆ getFunction() [1/2]

Function & llvm::MachineFunction::getFunction ( )
inline

Return the LLVM function that this machine code represents.

Definition at line 684 of file MachineFunction.h.

References F.

Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), AlignBlocks(), llvm::SITargetLowering::allocateHSAUserSGPRs(), allocateHSAUserSGPRs(), llvm::SITargetLowering::allocatePreloadKernArgSGPRs(), llvm::SITargetLowering::allocateSpecialInputSGPRs(), llvm::SIMachineFunctionInfo::allocateVGPRSpillToAGPR(), llvm::MachineOptimizationRemarkEmitter::allowExtraAnalysis(), llvm::NVPTXTargetLowering::allowUnsafeFPMath(), llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), llvm::AMDGPUCallLowering::areCalleeOutgoingArgsTailCallable(), llvm::SystemZELFFrameLowering::assignCalleeSavedSpillSlots(), llvm::DwarfCFIException::beginBasicBlockSection(), 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::X86CallLowering::canLowerReturn(), llvm::AArch64TargetLowering::canMergeStoresTo(), llvm::X86TargetLowering::canMergeStoresTo(), llvm::TargetRegisterInfo::canRealignStack(), 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::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::M68kFrameLowering::eliminateCallFramePseudoInstr(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::MachineOptimizationRemarkEmitter::emit(), llvm::AsmPrinter::emitBasicBlockStart(), llvm::AsmPrinter::emitBBAddrMapSection(), EmitCmp(), llvm::XtensaAsmPrinter::emitConstantPool(), emitConstantSizeRepmov(), 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(), 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::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitHiddenKernelArgs(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5::emitHiddenKernelArgs(), llvm::DwarfDebug::emitInitialLocDirective(), llvm::AsmPrinter::emitInitialRawDwarfLocDirective(), 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::M68kFrameLowering::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(), llvm::AsmPrinter::emitXRayTable(), enableAllocFrameElim(), llvm::TargetFrameLowering::enableCalleeSaveSkip(), llvm::ARMFrameLowering::enableCalleeSaveSkip(), llvm::HexagonFrameLowering::enableCalleeSaveSkip(), 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::ARMBaseInstrInfo::expandLoadStackGuardBase(), expandMul(), llvm::AArch64InstrInfo::expandPostRAPseudo(), fail(), llvm::AArch64CallLowering::fallBackToDAGISel(), findPrologueEndLoc(), llvm::X86InstrInfo::foldMemoryOperandImpl(), getArgBaseReg(), 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(), 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::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(), 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::X86TargetLowering::getStackProbeSymbolName(), llvm::AArch64RegisterInfo::getStrictlyReservedRegs(), llvm::SelectionDAG::getSymbolFunctionGlobalAddress(), GetSymbolRef(), llvm::SelectionDAG::getVScale(), llvm::CallLowering::handleAssignments(), handleMustTailForwardedRegisters(), llvm::X86FrameLowering::has128ByteRedZone(), hasDebugInfo(), llvm::HexagonFrameLowering::hasFP(), llvm::PPCTargetLowering::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::MIRParserImpl::initializeConstantPool(), llvm::MIRParserImpl::initializeFrameInfo(), interpretValues(), llvm::AArch64RegisterInfo::isArgumentRegister(), llvm::X86RegisterInfo::isArgumentRegister(), llvm::AArch64RegisterInfo::isAsmClobberable(), isCallableFunction(), llvm::TargetRegisterInfo::isCalleeSavedPhysReg(), 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(), 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::legalizeTrapHsaQueuePtr(), llvm::LegalizerHelper::libcall(), llvm::SIMachineFunctionInfo::limitOccupancy(), llvm::MachineBasicBlock::liveout_begin(), llvm::XtensaInstrInfo::loadImmediate(), llvm::XCoreInstrInfo::loadImmediate(), llvm::MipsSEInstrInfo::loadRegFromStack(), LowerATOMIC_STORE(), llvm::FastISel::lowerCall(), llvm::AArch64CallLowering::lowerCall(), llvm::AMDGPUCallLowering::lowerCall(), llvm::M68kCallLowering::lowerCall(), llvm::MipsCallLowering::lowerCall(), llvm::RISCVCallLowering::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::NVPTXTargetLowering::LowerReturn(), llvm::RISCVTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::LegalizerHelper::lowerStore(), llvm::AMDGPUCallLowering::lowerTailCall(), llvm::AMDGPUTargetLowering::lowerUnhandledCall(), llvm::LegalizerHelper::lowerVAArg(), LowerVACOPY(), llvm::SparcTargetLowering::makeAddress(), llvm::X86TargetLowering::markLibCallAttributes(), llvm::CombinerHelper::matchCombineExtractedVectorLoad(), 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(), parseGlobalValue(), parseIRConstant(), parseIRValue(), llvm::GCNTargetMachine::parseMachineFunctionInfo(), llvm::SITargetLowering::passSpecialInputs(), llvm::AMDGPUCallLowering::passSpecialInputs(), performBRCONDCombine(), llvm::AArch64TargetLowering::preferredShiftLegalizationStrategy(), llvm::RISCVTargetLowering::preferredShiftLegalizationStrategy(), llvm::X86TargetLowering::preferredShiftLegalizationStrategy(), llvm::MIRPrinter::print(), llvm::MIPrinter::print(), llvm::MachineInstr::print(), print(), llvm::MachineBasicBlock::print(), printMemOperand(), llvm::printMIR(), llvm::X86FrameLowering::processFunctionBeforeFrameFinalized(), produceCompactUnwindFrame(), ProfitableToMerge(), promoteToConstantPool(), reduceVMULWidth(), llvm::RISCVTargetLowering::ReplaceNodeResults(), llvm::X86TargetLowering::ReplaceNodeResults(), reportIllegalCopy(), reservePrivateMemoryRegs(), llvm::AArch64FrameLowering::resolveFrameOffsetReference(), llvm::PPCFrameLowering::restoreCalleeSavedRegisters(), llvm::X86FrameLowering::restoreCalleeSavedRegisters(), llvm::X86FrameLowering::restoreWinEHStackPointersInParent(), llvm::CallLowering::resultsCompatible(), llvm::PassManager< IRUnitT, AnalysisManagerT, ExtraArgTs >::run(), llvm::FreeMachineFunctionPass::run(), llvm::MIRProfileLoader::runOnFunction(), llvm::ARMAsmPrinter::runOnMachineFunction(), llvm::ExecutionDomainFix::runOnMachineFunction(), llvm::InstructionSelect::runOnMachineFunction(), llvm::IRTranslator::runOnMachineFunction(), llvm::Legalizer::runOnMachineFunction(), llvm::RegBankSelect::runOnMachineFunction(), llvm::MachineOptimizationRemarkEmitterPass::runOnMachineFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::BreakFalseDeps::runOnMachineFunction(), llvm::AMDGPUAsmPrinter::runOnMachineFunction(), AMDGPUDAGToDAGISel::runOnMachineFunction(), llvm::ARMBlockPlacement::runOnMachineFunction(), llvm::X86AsmPrinter::runOnMachineFunction(), llvm::RAGreedy::selectOrSplit(), llvm::SwiftErrorValueTracking::setFunction(), llvm::AsmPrinter::SetupMachineFunction(), llvm::TargetLoweringObjectFileXCOFF::ShouldEmitEHBlock(), shouldGenerateInlineTPLoop(), shouldLowerMemFuncForSize(), llvm::SelectionDAG::shouldOptForSize(), llvm::shouldOptForSize(), llvm::FastISel::shouldOptForSize(), llvm::GIMatchTableExecutor::shouldOptForSize(), llvm::AArch64InstrInfo::shouldOutlineFromFunctionByDefault(), llvm::ARMBaseInstrInfo::shouldOutlineFromFunctionByDefault(), llvm::RISCVInstrInfo::shouldOutlineFromFunctionByDefault(), llvm::TargetRegisterInfo::shouldRealignStack(), llvm::X86RegisterInfo::shouldRealignStack(), llvm::TargetLoweringObjectFileXCOFF::ShouldSetSSPCanaryBitInTB(), shouldSplitStack(), llvm::TailDuplicator::shouldTailDuplicate(), llvm::TargetLowering::SimplifySetCC(), llvm::SystemZELFFrameLowering::spillCalleeSavedRegisters(), llvm::MipsSEFrameLowering::spillCalleeSavedRegisters(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), llvm::ARMSubtarget::splitFramePointerPush(), splitStores(), llvm::MipsSEInstrInfo::storeRegToStack(), llvm::AArch64TargetLowering::supportSplitCSR(), transformCallee(), unpackFromRegLoc(), llvm::SystemZELFFrameLowering::usePackedStack(), llvm::SIMachineFunctionInfo::usesAGPRs(), llvm::RISCVMachineFunctionInfo::useSaveRestoreLibCalls(), llvm::R600InstrInfo::usesTextureCache(), llvm::R600InstrInfo::usesVertexCache(), llvm::SelectionDAGBuilder::visitSPDescriptorParent(), WarnSize(), llvm::LegalizerHelper::widenScalar(), WindowsRequiresStackProbe(), and llvm::OptLevelChanger::~OptLevelChanger().

◆ getFunction() [2/2]

const Function & llvm::MachineFunction::getFunction ( ) const
inline

Return the LLVM function that this machine code represents.

Definition at line 687 of file MachineFunction.h.

References F.

◆ getFunctionNumber()

unsigned llvm::MachineFunction::getFunctionNumber ( ) const
inline

◆ getInfo() [1/2]

template<typename Ty >
Ty * llvm::MachineFunction::getInfo ( )
inline

getInfo - Keep track of various per-function pieces of information for backends that would like to do so.

Definition at line 816 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(), 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(), denormalModeIsFlushAllF32(), denormalModeIsFlushAllF64F16(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::CSKYFrameLowering::determineCalleeSaves(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::MipsSEFrameLowering::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(), 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::AMDGPU::HSAMD::MetadataStreamerMsgPackV5::emitHiddenKernelArgs(), llvm::X86AsmPrinter::emitInstruction(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), 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(), emitSplitF64Pseudo(), 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::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::ARMBaseInstrInfo::getInstSizeInBytes(), getLibCallID(), llvm::SIInstrInfo::getLiveRangeSplitOpcode(), llvm::WebAssemblyFrameLowering::getLocalForStackObject(), llvm::GCNSubtarget::getMaxNumSGPRs(), llvm::GCNSubtarget::getMaxNumVGPRs(), llvm::AMDGPUSubtarget::getOccupancyWithLocalMemSize(), llvm::SystemZELFFrameLowering::getOrCreateFramePointerSaveIndex(), llvm::SystemZXPLINKFrameLowering::getOrCreateFramePointerSaveIndex(), llvm::AArch64InstrInfo::getOutliningTypeImpl(), llvm::SIRegisterInfo::getRegPressureLimit(), llvm::GCNSubtarget::getReservedNumSGPRs(), llvm::SIRegisterInfo::getReservedRegs(), llvm::HexagonRegisterInfo::getReservedRegs(), llvm::MipsRegisterInfo::getReservedRegs(), llvm::PPCRegisterInfo::getReservedRegs(), llvm::MSP430TargetLowering::getReturnAddressFrameIndex(), llvm::X86TargetLowering::getReturnAddressFrameIndex(), llvm::RISCVFrameLowering::getStackSizeWithRVVPadding(), getSVEStackSize(), llvm::SITargetLowering::getTgtMemIntrinsic(), getVGPRSpillLaneOrTempRegister(), llvm::X86FrameLowering::getWin64EHFrameIndexRef(), llvm::AArch64FrameLowering::getWinEHFuncletFrameSize(), llvm::X86FrameLowering::getWinEHParentFrameOffset(), getzOSCalleeAndADA(), handleMustTailForwardedRegisters(), llvm::AArch64RegisterInfo::hasBasePointer(), llvm::ARMBaseRegisterInfo::hasBasePointer(), llvm::X86RegisterInfo::hasBasePointer(), llvm::SIFrameLowering::hasFP(), llvm::AVRFrameLowering::hasFP(), llvm::HexagonFrameLowering::hasFP(), llvm::X86FrameLowering::hasFP(), 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::AArch64InstrInfo::insertIndirectBranch(), llvm::SIInstrInfo::insertIndirectBranch(), llvm::LoongArchInstrInfo::insertIndirectBranch(), llvm::RISCVInstrInfo::insertIndirectBranch(), 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_STACKALLOCImpl(), llvm::HexagonTargetLowering::LowerEH_RETURN(), llvm::AMDGPUCallLowering::lowerFormalArguments(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::LoongArchTargetLowering::LowerFormalArguments(), llvm::RISCVTargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::VETargetLowering::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::SITargetLowering::LowerReturn(), llvm::RISCVTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), 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::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::AMDGPUCallLowering::passSpecialInputs(), popRegsFromStack(), llvm::AArch64InstrInfo::probedStackAlloc(), llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized(), llvm::LoongArchFrameLowering::processFunctionBeforeFrameFinalized(), llvm::RISCVFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SystemZELFFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(), llvm::HexagonFrameLowering::processFunctionBeforeFrameFinalized(), llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized(), llvm::XCoreFrameLowering::processFunctionBeforeFrameFinalized(), llvm::X86FrameLowering::processFunctionBeforeFrameIndicesReplaced(), llvm::SIFrameLowering::processFunctionBeforeFrameIndicesReplaced(), promoteToConstantPool(), llvm::GCNTargetMachine::registerMachineRegisterInfoCallback(), llvm::Thumb2InstrInfo::ReplaceTailWithBranchTo(), llvm::SIRegisterInfo::requiresRegisterScavenging(), llvm::SIFrameLowering::requiresStackPointerReference(), llvm::AArch64FrameLowering::resetCFIToInitialState(), llvm::ARMBaseRegisterInfo::resolveFrameIndex(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), llvm::AArch64FrameLowering::resolveFrameOffsetReference(), llvm::SystemZELFFrameLowering::restoreCalleeSavedRegisters(), llvm::SystemZXPLINKFrameLowering::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::SIRegisterInfo::shouldRealignStack(), llvm::SystemZELFFrameLowering::spillCalleeSavedRegisters(), llvm::SystemZXPLINKFrameLowering::spillCalleeSavedRegisters(), llvm::ARMFrameLowering::spillCalleeSavedRegisters(), llvm::AVRFrameLowering::spillCalleeSavedRegisters(), llvm::MSP430FrameLowering::spillCalleeSavedRegisters(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), llvm::RISCVFrameLowering::spillCalleeSavedRegisters(), llvm::X86FrameLowering::spillCalleeSavedRegisters(), llvm::XCoreFrameLowering::spillCalleeSavedRegisters(), spillsCR(), spillVGPRtoAGPR(), llvm::ARMSubtarget::splitFramePushPop(), llvm::SIInstrInfo::storeRegToStackSlot(), llvm::AVRInstrInfo::storeRegToStackSlot(), llvm::CSKYInstrInfo::storeRegToStackSlot(), llvm::AMDGPUTargetLowering::storeStackInputValue(), llvm::SITargetLowering::supportSplitCSR(), llvm::GCNIterativeScheduler::tryMaximizeOccupancy(), unpackFromRegLoc(), unstackifyVRegsUsedInSplitBB(), llvm::AArch64RegisterInfo::useFPForScavengingIndex(), and windowsRequiresStackProbe().

◆ getInfo() [2/2]

template<typename Ty >
const Ty * llvm::MachineFunction::getInfo ( ) const
inline

Definition at line 821 of file MachineFunction.h.

◆ getInStackSlotVariableDbgInfo() [1/2]

auto llvm::MachineFunction::getInStackSlotVariableDbgInfo ( )
inline

Returns the collection of variables for which we have debug info and that have been assigned a stack slot.

Definition at line 1327 of file MachineFunction.h.

References llvm::make_filter_range().

Referenced by llvm::MIRPrinter::convertStackObjects().

◆ getInStackSlotVariableDbgInfo() [2/2]

auto llvm::MachineFunction::getInStackSlotVariableDbgInfo ( ) const
inline

Returns the collection of variables for which we have debug info and that have been assigned a stack slot.

Definition at line 1335 of file MachineFunction.h.

References llvm::make_filter_range().

◆ getInstructionCount()

unsigned llvm::MachineFunction::getInstructionCount ( ) const
inline

Return the number of MachineInstrs in this MachineFunction.

Definition at line 965 of file MachineFunction.h.

References InstrCount, and MBB.

◆ getJTISymbol()

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 746 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().

◆ getJumpTableInfo() [1/2]

MachineJumpTableInfo * llvm::MachineFunction::getJumpTableInfo ( )
inline

Definition at line 742 of file MachineFunction.h.

◆ getJumpTableInfo() [2/2]

const MachineJumpTableInfo * llvm::MachineFunction::getJumpTableInfo ( ) const
inline

◆ getLandingPads()

const std::vector< LandingPadInfo > & llvm::MachineFunction::getLandingPads ( ) const
inline

◆ getLongjmpTargets()

const std::vector< MCSymbol * > & llvm::MachineFunction::getLongjmpTargets ( ) const
inline

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 1158 of file MachineFunction.h.

Referenced by llvm::WinCFGuard::endFunction().

◆ getMachineMemOperand() [1/11]

MachineMemOperand * MachineFunction::getMachineMemOperand ( const MachineMemOperand MMO,
const AAMDNodes AAInfo 
)

◆ getMachineMemOperand() [2/11]

MachineMemOperand * MachineFunction::getMachineMemOperand ( const MachineMemOperand MMO,
const MachinePointerInfo PtrInfo,
LLT  Ty 
)

◆ getMachineMemOperand() [3/11]

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 511 of file MachineFunction.cpp.

References assert(), llvm::MachineMemOperand::getBaseAlign(), llvm::MachineMemOperand::getFailureOrdering(), llvm::MachineMemOperand::getFlags(), llvm::MachineMemOperand::getSuccessOrdering(), llvm::MachineMemOperand::getSyncScopeID(), and Size.

◆ getMachineMemOperand() [4/11]

MachineMemOperand * llvm::MachineFunction::getMachineMemOperand ( const MachineMemOperand MMO,
const MachinePointerInfo PtrInfo,
uint64_t  Size 
)
inline

Definition at line 1083 of file MachineFunction.h.

References getMachineMemOperand(), and Size.

◆ getMachineMemOperand() [5/11]

MachineMemOperand * MachineFunction::getMachineMemOperand ( const MachineMemOperand MMO,
int64_t  Offset,
LLT  Ty 
)

◆ getMachineMemOperand() [6/11]

MachineMemOperand * llvm::MachineFunction::getMachineMemOperand ( const MachineMemOperand MMO,
int64_t  Offset,
LocationSize  Size 
)
inline

Definition at line 1059 of file MachineFunction.h.

References getMachineMemOperand(), Offset, and Size.

◆ getMachineMemOperand() [7/11]

MachineMemOperand * llvm::MachineFunction::getMachineMemOperand ( const MachineMemOperand MMO,
int64_t  Offset,
uint64_t  Size 
)
inline

Definition at line 1068 of file MachineFunction.h.

References getMachineMemOperand(), Offset, and Size.

◆ getMachineMemOperand() [8/11]

MachineMemOperand * MachineFunction::getMachineMemOperand ( const MachineMemOperand MMO,
MachineMemOperand::Flags  Flags 
)

◆ getMachineMemOperand() [9/11]

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 500 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(), llvm::RISCVInstrInfo::foldMemoryOperandImpl(), 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::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(), and tryMemPairCombine().

◆ getMachineMemOperand() [10/11]

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 486 of file MachineFunction.cpp.

References assert(), F, and Size.

◆ getMachineMemOperand() [11/11]

MachineMemOperand * llvm::MachineFunction::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 
)
inline

Definition at line 1042 of file MachineFunction.h.

References F, getMachineMemOperand(), and Size.

◆ getMMI()

MachineModuleInfo & llvm::MachineFunction::getMMI ( ) const
inline

Definition at line 669 of file MachineFunction.h.

Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::DwarfCFIException::beginFunction(), buildDefCFAReg(), llvm::M68kFrameLowering::eliminateCallFramePseudoInstr(), llvm::MSP430FrameLowering::emitCalleeSavedFrameMoves(), llvm::X86FrameLowering::emitCalleeSavedFrameMoves(), llvm::X86FrameLowering::emitCalleeSavedFrameMovesFullCFA(), llvm::MachineInstr::emitError(), emitErrorMsg(), llvm::AArch64FrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::M68kFrameLowering::emitPrologue(), llvm::Mips16FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::SystemZELFFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::X86FrameLowering::enableShrinkWrapping(), llvm::X86TargetLowering::expandIndirectJTBranch(), llvm::TargetLoweringObjectFileXCOFF::getEHInfoTableSymbol(), llvm::AArch64InstrInfo::getOutliningTypeImpl(), llvm::ARMBaseInstrInfo::getOutliningTypeImpl(), llvm::FastISel::handleDbgInfo(), llvm::TailDuplicator::initMF(), llvm::PPCFrameLowering::inlineStackProbe(), needFuncLabels(), needsFrameMoves(), recoverFramePointer(), llvm::FreeMachineFunctionPass::run(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::X86AsmPrinter::runOnMachineFunction(), llvm::FastISel::selectIntrinsicCall(), and transformCallee().

◆ getName()

StringRef MachineFunction::getName ( ) const

getName - Return the name of the corresponding LLVM function.

Definition at line 609 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(), emitErrorMsg(), llvm::AsmPrinter::emitFunctionBody(), llvm::AMDGPUAsmPrinter::emitFunctionBodyStart(), llvm::AMDGPUAsmPrinter::emitFunctionEntryLabel(), llvm::X86AsmPrinter::emitKCFITypeId(), llvm::ARCFrameLowering::emitPrologue(), llvm::SparcFrameLowering::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(), LowerDYNAMIC_STACKALLOC(), llvm::MLPriorityAdvisor::MLPriorityAdvisor(), llvm::MIRPrinter::print(), llvm::MachineCycleInfoWrapperPass::print(), print(), llvm::ARCFrameLowering::processFunctionBeforeFrameFinalized(), reportFastISelFailure(), reportGISelDiagnostic(), llvm::PPCRegisterInfo::requiresFrameIndexScavenging(), llvm::ARCFrameLowering::restoreCalleeSavedRegisters(), llvm::ThunkInserter< Derived, InsertedThunksTy >::run(), llvm::InstructionSelect::runOnMachineFunction(), llvm::Legalizer::runOnMachineFunction(), llvm::LoadStoreOpt::runOnMachineFunction(), llvm::Localizer::runOnMachineFunction(), llvm::RegBankSelect::runOnMachineFunction(), GCEmptyBasicBlocks::runOnMachineFunction(), llvm::RAGreedy::runOnMachineFunction(), llvm::GCNRegPressurePrinter::runOnMachineFunction(), llvm::ARMBlockPlacement::runOnMachineFunction(), llvm::VLIWMachineScheduler::schedule(), llvm::MIRParserImpl::setupRegisterInfo(), shouldGenerateData(), llvm::ARCFrameLowering::spillCalleeSavedRegisters(), llvm::DbgValueHistoryMap::trimLocationRanges(), viewCFG(), viewCFGOnly(), writeGadgetGraph(), and writeMCFGToDotFile().

◆ getNewDebugInstrNum()

unsigned llvm::MachineFunction::getNewDebugInstrNum ( )
inline

Definition at line 1380 of file MachineFunction.h.

Referenced by llvm::MachineInstr::getDebugInstrNum().

◆ getNumBlockIDs()

unsigned llvm::MachineFunction::getNumBlockIDs ( ) const
inline

◆ getObserver()

GISelChangeObserver * llvm::MachineFunction::getObserver ( ) const
inline

Definition at line 667 of file MachineFunction.h.

Referenced by llvm::constrainOperandRegClass().

◆ getOrCreateJumpTableInfo()

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 314 of file MachineFunction.cpp.

Referenced by llvm::SwitchCG::SwitchLowering::buildJumpTable(), llvm::VETargetLowering::emitSjLjDispatchBlock(), and llvm::MIRParserImpl::initializeJumpTableInfo().

◆ getOrCreateLandingPadInfo()

LandingPadInfo & MachineFunction::getOrCreateLandingPadInfo ( MachineBasicBlock LandingPad)

Find or create an LandingPadInfo for the specified MachineBasicBlock.

Definition at line 771 of file MachineFunction.cpp.

References llvm::LandingPadInfo::LandingPadBlock, and N.

Referenced by addInvoke(), and addLandingPad().

◆ getPICBaseSymbol()

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 761 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().

◆ getProperties() [1/2]

MachineFunctionProperties & llvm::MachineFunction::getProperties ( )
inline

Definition at line 810 of file MachineFunction.h.

◆ getProperties() [2/2]

const MachineFunctionProperties & llvm::MachineFunction::getProperties ( ) const
inline

◆ getPSVManager()

PseudoSourceValueManager & llvm::MachineFunction::getPSVManager ( ) const
inline

◆ getRegInfo() [1/2]

MachineRegisterInfo & llvm::MachineFunction::getRegInfo ( )
inline

getRegInfo - Return information about the registers currently in use.

Definition at line 728 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::AArch64InstrInfo::analyzeLoopForPipelining(), llvm::ARMBaseInstrInfo::analyzeLoopForPipelining(), llvm::PPCInstrInfo::analyzeLoopForPipelining(), llvm::MipsRegisterBankInfo::applyMappingImpl(), llvm::AMDGPUCallLowering::areCalleeOutgoingArgsTailCallable(), llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(), llvm::VirtRegMap::assignVirt2StackSlot(), attachMEMCPYScratchRegs(), attemptDebugCopyProp(), buildGitPtr(), buildScratchExecCopy(), llvm::SIRegisterInfo::buildSpillLoadStore(), llvm::VirtRegAuxInfo::calculateSpillWeightsAndHints(), 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(), combineFPFusedMultiply(), llvm::HexagonBlockRanges::computeDeadMap(), llvm::computeLiveIns(), computeLiveOuts(), llvm::constrainSelectedInstRegOperands(), llvm::SIInstrInfo::convertNonUniformIfRegion(), llvm::SIInstrInfo::convertNonUniformLoopRegion(), 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::CSKYRegisterInfo::eliminateFrameIndex(), llvm::SystemZRegisterInfo::eliminateFrameIndex(), llvm::LoongArchRegisterInfo::eliminateFrameIndex(), llvm::RISCVRegisterInfo::eliminateFrameIndex(), llvm::WebAssemblyRegisterInfo::eliminateFrameIndex(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::VETargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::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(), 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(), genIndexedMultiply(), genShXAddAddShift(), llvm::SIInstrInfo::getAddNoCarry(), llvm::TargetRegisterInfo::getAllocatableSet(), getArgBaseReg(), 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(), 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::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::ARMBaseRegisterInfo::getRegAllocationHints(), llvm::PPCRegisterInfo::getRegAllocationHints(), llvm::RISCVRegisterInfo::getRegAllocationHints(), llvm::SystemZRegisterInfo::getRegAllocationHints(), llvm::X86RegisterInfo::getRegAllocationHints(), llvm::TargetRegisterInfo::getRegAllocationHints(), getRegClass(), llvm::SIInstrInfo::getRegClass(), getRegistersForValue(), getRegTy(), getVGPRSpillLaneOrTempRegister(), llvm::PerFunctionMIParsingState::getVRegInfo(), llvm::PerFunctionMIParsingState::getVRegInfoNamed(), llvm::VirtRegMap::grow(), llvm::CallLowering::handleAssignments(), llvm::TargetInstrInfo::hasReassociableOperands(), llvm::TargetInstrInfo::hasReassociableSibling(), llvm::RISCVInstrInfo::hasReassociableSibling(), llvm::SIInstrInfo::hasVGPRUses(), indirectCopyToAGPR(), llvm::RegPressureTracker::init(), llvm::RegBankSelect::init(), llvm::MipsFunctionInfo::initGlobalBaseReg(), INITIALIZE_PASS(), llvm::MIRParserImpl::initializeMachineFunction(), llvm::TailDuplicator::initMF(), llvm::VEInstrInfo::insertBranch(), insertCSRSaves(), llvm::SIInstrInfo::insertEQ(), llvm::SIInstrInfo::insertIndirectBranch(), llvm::LoongArchInstrInfo::insertIndirectBranch(), llvm::RISCVInstrInfo::insertIndirectBranch(), 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(), isCallerPreservedOrConstPhysReg(), llvm::SITargetLowering::isCanonicalized(), llvm::isCycleInvariant(), llvm::SITargetLowering::isEligibleForTailCallOptimization(), llvm::MachineLoop::isLoopInvariant(), llvm::ARMBaseInstrInfo::isMBBSafeToOutlineFrom(), isNonFoldablePartialRegisterLoad(), llvm::SIInstrInfo::isOperandLegal(), llvm::TargetInstrInfo::isReallyTriviallyReMaterializable(), llvm::X86InstrInfo::isReallyTriviallyReMaterializable(), llvm::AMDGPURegisterBankInfo::isSALUMapping(), llvm::SITargetLowering::isSDNodeSourceOfDivergence(), 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::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::SparcTargetLowering::LowerFormalArguments_32(), llvm::AMDGPUCallLowering::lowerFormalArgumentsKernel(), LowerFPToInt(), llvm::MipsCallLowering::lowerReturn(), llvm::X86CallLowering::lowerReturn(), llvm::AArch64CallLowering::lowerReturn(), llvm::M68kCallLowering::lowerReturn(), llvm::PPCCallLowering::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(), llvm::SystemZELFFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SIFrameLowering::processFunctionBeforeFrameIndicesReplaced(), processInstrsWithTypeFolding(), processNewInstrs(), processSwitches(), 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::PPCRegisterInfo::resolveFrameIndex(), llvm::restoreStatusRegister(), llvm::ThumbRegisterInfo::rewriteFrameIndex(), llvm::rewriteT2FrameIndex(), llvm::RegisterClassInfo::runOnMachineFunction(), llvm::LiveIntervals::runOnMachineFunction(), llvm::MachineTraceMetrics::runOnMachineFunction(), llvm::ExecutionDomainFix::runOnMachineFunction(), llvm::InstructionSelect::runOnMachineFunction(), llvm::IRTranslator::runOnMachineFunction(), llvm::LiveVariables::runOnMachineFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::GCNRegPressurePrinter::runOnMachineFunction(), llvm::WebAssemblyAsmPrinter::runOnMachineFunction(), llvm::scavengeFrameVirtualRegs(), llvm::FunctionLoweringInfo::set(), llvm::GISelCSEInfo::setMF(), llvm::MachineIRBuilder::setMF(), llvm::X86MachineFunctionInfo::setRestoreBasePointer(), llvm::AMDGPUInstructionSelector::setupMF(), llvm::MIRParserImpl::setupRegisterInfo(), llvm::SIMachineFunctionInfo::shiftSpillPhysVGPRsToLowestRange(), 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().

◆ getRegInfo() [2/2]

const MachineRegisterInfo & llvm::MachineFunction::getRegInfo ( ) const
inline

Definition at line 729 of file MachineFunction.h.

◆ getSection()

MCSection * llvm::MachineFunction::getSection ( ) const
inline

◆ getSublistAccess()

static BasicBlockListType MachineFunction::* llvm::MachineFunction::getSublistAccess ( MachineBasicBlock )
inlinestatic

Support for MachineBasicBlock::getNextNode().

Definition at line 911 of file MachineFunction.h.

◆ getSubtarget() [1/2]

const TargetSubtargetInfo & llvm::MachineFunction::getSubtarget ( ) const
inline

getSubtarget - Return the subtarget for which this machine code is being compiled.

Definition at line 718 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(), llvm::SITargetLowering::allocatePreloadKernArgSGPRs(), 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::MachineIRBuilder::buildBoolExtInReg(), llvm::AArch64InstrInfo::buildClearRegister(), llvm::X86InstrInfo::buildClearRegister(), llvm::SPIRVGlobalRegistry::buildConstantInt(), llvm::MachineIRBuilder::buildExtractVectorElementConstant(), llvm::SPIRVGlobalRegistry::buildGlobalVariable(), llvm::AArch64InstrInfo::buildOutlinedFrame(), llvm::ScheduleDAGInstrs::buildSchedGraph(), buildScratchExecCopy(), llvm::calculateDbgEntityHistory(), llvm::calculateRegAllocScore(), llvm::LiveRangeEdit::calculateRegClassAndHint(), llvm::HexagonTargetLowering::CanLowerReturn(), llvm::LoongArchTargetLowering::CanLowerReturn(), llvm::RISCVTargetLowering::CanLowerReturn(), cannotCoexistAsymm(), 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::RISCV::CC_RISCV_GHC(), CC_RISCVAssign2XLen(), llvm::CC_SystemZ_I128Indirect(), CC_X86_64_VectorCall(), CC_X86_Intr(), CC_X86_VectorCallAssignRegister(), llvm::AArch64PAuth::checkAuthenticatedRegister(), checkNumAlignedDPRCS2Regs(), llvm::checkVOPDRegConstraints(), combineFPFusedMultiply(), 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(), 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::TargetOptions::DisableFramePointerElim(), 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::RISCVRegisterInfo::eliminateFrameIndex(), llvm::WebAssemblyRegisterInfo::eliminateFrameIndex(), llvm::XtensaRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), emitAligningInstructions(), emitBuildPairF64Pseudo(), emitCalleeSavedRestores(), emitComments(), llvm::SIFrameLowering::emitCSRSpillRestores(), llvm::SIFrameLowering::emitCSRSpillStores(), llvm::DwarfDebug::emitDebugLocValue(), emitDebugValueComment(), emitDefineCFAWithFP(), llvm::AArch64TargetLowering::EmitDynamicProbedAlloc(), 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(), 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::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(), 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(), llvm::AsmPrinter::emitXRayTable(), enableAllocFrameElim(), llvm::HexagonFrameLowering::enableCalleeSaveSkip(), llvm::PPCFrameLowering::enableShrinkWrapping(), 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(), findScratchNonCalleeSaveRegister(), finishStackBlock(), foldADDIForLocalExecAccesses(), llvm::TargetInstrInfo::foldMemoryOperand(), llvm::AArch64InstrInfo::foldMemoryOperandImpl(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::AArch64InstrInfo::genAlternativeCodeSequence(), generateAssignInstrs(), llvm::generateConvertInst(), generateEndPgm(), llvm::generateGroupUniformInst(), llvm::generateIntelSubgroupsInst(), genIndexedMultiply(), genShXAddAddShift(), llvm::AMDGPUSubtarget::get(), getArgBaseReg(), llvm::PPCRegisterInfo::getBaseRegister(), getBBAddrMapMetadata(), llvm::getBLRCallOpcode(), llvm::getBLXOpcode(), llvm::getBLXpredOpcode(), llvm::MachineIRBuilder::getBoolExtOp(), 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::MSP430InstrInfo::getInstSizeInBytes(), llvm::RISCVInstrInfo::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::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::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(), 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::hasFP(), llvm::SIFrameLowering::hasFP(), llvm::ARCFrameLowering::hasFP(), llvm::ARMFrameLowering::hasFP(), llvm::CSKYFrameLowering::hasFP(), llvm::HexagonFrameLowering::hasFP(), llvm::LoongArchFrameLowering::hasFP(), llvm::RISCVFrameLowering::hasFP(), llvm::SparcFrameLowering::hasFP(), llvm::VEFrameLowering::hasFP(), hasRVVFrameObject(), llvm::HexagonAsmPrinter::HexagonProcessInstruction(), llvm::RegPressureTracker::init(), llvm::RegBankSelect::init(), llvm::PreRARematStage::initGCNSchedStage(), llvm::MipsFunctionInfo::initGlobalBaseReg(), llvm::ConvergingVLIWScheduler::initialize(), llvm::GCNSchedStrategy::initialize(), llvm::R600SchedStrategy::initialize(), INITIALIZE_PASS(), llvm::MIRParserImpl::initializeFrameInfo(), llvm::MIRParserImpl::initializeMachineFunction(), llvm::TailDuplicator::initMF(), llvm::GenericScheduler::initPolicy(), llvm::SystemZELFFrameLowering::inlineStackProbe(), llvm::SystemZXPLINKFrameLowering::inlineStackProbe(), insertBitcasts(), insertCSRRestores(), insertCSRSaves(), insertDivByZeroTrap(), llvm::SIInstrInfo::insertIndirectBranch(), llvm::LoongArchInstrInfo::insertIndirectBranch(), llvm::RISCVInstrInfo::insertIndirectBranch(), llvm::insertMultibyteShift(), llvm::SIInstrInfo::insertScratchExecCopy(), InsertSEH(), insertSEH(), insertUndefLaneMask(), interpretValues(), llvm::AArch64RegisterInfo::isArgumentRegister(), llvm::X86RegisterInfo::isArgumentRegister(), llvm::RISCVRegisterInfo::isAsmClobberable(), llvm::PPCRegisterInfo::isCallerPreservedPhysReg(), llvm::isCycleInvariant(), llvm::AMDGPUCallLowering::isEligibleForTailCallOptimization(), isEligibleToFoldADDIForLocalExecAccesses(), llvm::X86RegisterInfo::isFixedRegister(), llvm::ARMFrameLowering::isFPReserved(), 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(), LowerCallResults(), 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::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::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(), promoteVCIXScalar(), llvm::SwiftErrorValueTracking::propagateVRegs(), llvm::TargetInstrInfo::reassociateOps(), llvm::MachineRegisterInfo::recomputeRegClass(), reduceDbgValsForwardScan(), replaceDominatedUses(), replaceFI(), replaceFrameIndex(), requiresAAPCSFrameRecord(), llvm::PPCRegisterInfo::requiresFrameIndexScavenging(), 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(), llvm::RegisterClassInfo::runOnMachineFunction(), llvm::LiveIntervals::runOnMachineFunction(), llvm::LiveStacks::runOnMachineFunction(), llvm::MachineTraceMetrics::runOnMachineFunction(), llvm::ARMAsmPrinter::runOnMachineFunction(), llvm::HexagonAsmPrinter::runOnMachineFunction(), llvm::CFIFixup::runOnMachineFunction(), llvm::ExecutionDomainFix::runOnMachineFunction(), llvm::InstructionSelect::runOnMachineFunction(), llvm::IRTranslator::runOnMachineFunction(), llvm::Legalizer::runOnMachineFunction(), llvm::LiveVariables::runOnMachineFunction(), llvm::ReachingDefAnalysis::runOnMachineFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::BreakFalseDeps::runOnMachineFunction(), llvm::AMDGPUAsmPrinter::runOnMachineFunction(), AMDGPUDAGToDAGISel::runOnMachineFunction(), llvm::ARMBlockPlacement::runOnMachineFunction(), llvm::CSKYAsmPrinter::runOnMachineFunction(), llvm::HexagonDAGToDAGISel::runOnMachineFunction(), llvm::LoongArchDAGToDAGISel::runOnMachineFunction(), llvm::MipsAsmPrinter::runOnMachineFunction(), llvm::MipsDAGToDAGISel::runOnMachineFunction(), llvm::NVPTXDAGToDAGISel::runOnMachineFunction(), llvm::RISCVDAGToDAGISel::runOnMachineFunction(), llvm::InsertNOPLoad::runOnMachineFunction(), llvm::DetectRoundChange::runOnMachineFunction(), llvm::FixAllFDIVSQRT::runOnMachineFunction(), llvm::WebAssemblyAsmPrinter::runOnMachineFunction(), llvm::X86AsmPrinter::runOnMachineFunction(), llvm::Mips16RegisterInfo::saveScavengerRegister(), llvm::ScheduleDAGInstrs::ScheduleDAGInstrs(), llvm::GCNIterativeScheduler::scheduleILP(), llvm::GCNIterativeScheduler::scheduleLegacyMaxOccupancy(), llvm::GCNIterativeScheduler::scheduleRegion(), llvm::HexagonConvergingVLIWScheduler::SchedulingCost(), selectI64Imm(), llvm::FunctionLoweringInfo::set(), setAliasRegs(), setCallTargetReg(), llvm::SwiftErrorValueTracking::setFunction(), llvm::MachineIRBuilder::setMF(), llvm::X86MachineFunctionInfo::setRestoreBasePointer(), llvm::AMDGPUInstructionSelector::setupMF(), llvm::MIRParserImpl::setupRegisterInfo(), llvm::SIMachineFunctionInfo::shiftSpillPhysVGPRsToLowestRange(), llvm::HexagonRegisterInfo::shouldCoalesce(), llvm::TargetRegisterInfo::shouldRealignStack(), 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::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().

◆ getSubtarget() [2/2]

template<typename STC >
const STC & llvm::MachineFunction::getSubtarget ( ) const
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 723 of file MachineFunction.h.

◆ getTarget()

const LLVMTargetMachine & llvm::MachineFunction::getTarget ( ) const
inline

getTarget - Return the target machine this machine code is compiled with

Definition at line 714 of file MachineFunction.h.

Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), AlignBlocks(), allowApproxFunc(), llvm::NVPTXTargetLowering::allowFMA(), llvm::NVPTXTargetLowering::allowUnsafeFPMath(), assignSections(), llvm::X86InstrInfo::canMakeTailCallConditional(), llvm::AArch64RegisterInfo::cannotEliminateFrame(), llvm::ARMBaseRegisterInfo::cannotEliminateFrame(), llvm::MachineBasicBlock::canSplitCriticalEdge(), llvm::X86FrameLowering::canUseLEAForSPInEpilogue(), llvm::MipsFunctionInfo::createEhDataRegsFI(), llvm::MipsTargetLowering::createFastISel(), 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::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::HexagonInstrInfo::getSize(), llvm::AArch64FrameLowering::hasFP(), llvm::SIFrameLowering::hasFP(), llvm::ARCFrameLowering::hasFP(), llvm::ARMFrameLowering::hasFP(), llvm::CSKYFrameLowering::hasFP(), llvm::HexagonFrameLowering::hasFP(), llvm::LoongArchFrameLowering::hasFP(), llvm::M68kFrameLowering::hasFP(), llvm::MipsFrameLowering::hasFP(), llvm::MSP430FrameLowering::hasFP(), llvm::RISCVFrameLowering::hasFP(), llvm::SparcFrameLowering::hasFP(), llvm::SystemZELFFrameLowering::hasFP(), llvm::VEFrameLowering::hasFP(), llvm::X86FrameLowering::hasFP(), llvm::XCoreFrameLowering::hasFP(), llvm::XtensaFrameLowering::hasFP(), llvm::MipsFunctionInfo::initGlobalBaseReg(), llvm::MIRParserImpl::initializeCallSiteInfo(), llvm::MIRParserImpl::initializeMachineFunction(), llvm::AArch64InstrInfo::isAssociativeAndCommutative(), isCombineInstrCandidateFP(), llvm::AArch64CallLowering::isEligibleForTailCallOptimization(), llvm::AMDGPUCallLowering::isEligibleForTailCallOptimization(), llvm::X86::isExtendedSwiftAsyncFrameSupported(), 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(), llvm::ARMSubtarget::splitFramePointerPush(), llvm::ARMSubtarget::splitFramePushPop(), and llvm::DwarfCompileUnit::updateSubprogramScopeDIE().

◆ getTypeIDFor()

unsigned MachineFunction::getTypeIDFor ( const GlobalValue TI)

Return the type id for the specified typeinfo. This is function wide.

Definition at line 841 of file MachineFunction.cpp.

References N.

Referenced by addLandingPad().

◆ getTypeInfos()

const std::vector< const GlobalValue * > & llvm::MachineFunction::getTypeInfos ( ) const
inline

Return a reference to the C++ typeinfo for the current function.

Definition at line 1294 of file MachineFunction.h.

Referenced by llvm::EHStreamer::emitExceptionTable(), and llvm::EHStreamer::emitTypeInfos().

◆ getVariableDbgInfo() [1/2]

VariableDbgInfoMapTy & llvm::MachineFunction::getVariableDbgInfo ( )
inline

Definition at line 1320 of file MachineFunction.h.

◆ getVariableDbgInfo() [2/2]

const VariableDbgInfoMapTy & llvm::MachineFunction::getVariableDbgInfo ( ) const
inline

Definition at line 1321 of file MachineFunction.h.

◆ getWasmEHFuncInfo() [1/2]

WasmEHFuncInfo * llvm::MachineFunction::getWasmEHFuncInfo ( )
inline

Definition at line 757 of file MachineFunction.h.

◆ getWasmEHFuncInfo() [2/2]

const WasmEHFuncInfo * llvm::MachineFunction::getWasmEHFuncInfo ( ) const
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 756 of file MachineFunction.h.

Referenced by llvm::WebAssemblyFunctionInfo::initializeBaseYamlFields(), llvm::WebAssemblyExceptionInfo::recalculate(), llvm::FunctionLoweringInfo::set(), sortBlocks(), and llvm::yaml::WebAssemblyFunctionInfo::WebAssemblyFunctionInfo().

◆ getWasmLandingPadIndex()

unsigned llvm::MachineFunction::getWasmLandingPadIndex ( const MachineBasicBlock LPad) const
inline

Get the index in wasm EH for a given landing pad.

Definition at line 1242 of file MachineFunction.h.

References assert(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::lookup().

Referenced by llvm::WasmException::computeCallSiteTable().

◆ getWinEHFuncInfo() [1/2]

WinEHFuncInfo * llvm::MachineFunction::getWinEHFuncInfo ( )
inline

Definition at line 763 of file MachineFunction.h.

◆ getWinEHFuncInfo() [2/2]

const WinEHFuncInfo * llvm::MachineFunction::getWinEHFuncInfo ( ) const
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 762 of file MachineFunction.h.

Referenced by llvm::WinException::beginFunction(), llvm::X86FrameLowering::emitPrologue(), MarkEHGuard(), MarkEHRegistrationNode(), llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized(), llvm::X86FrameLowering::restoreWin32EHStackPointers(), and llvm::FunctionLoweringInfo::set().

◆ handleChangeDesc()

void MachineFunction::handleChangeDesc ( MachineInstr MI,
const MCInstrDesc TID 
)

◆ hasAnyCallSiteLabel()

bool llvm::MachineFunction::hasAnyCallSiteLabel ( ) const
inline

◆ hasAnyCallSiteLandingPad()

bool llvm::MachineFunction::hasAnyCallSiteLandingPad ( ) const
inline

◆ hasAnyWasmLandingPadIndex()

bool llvm::MachineFunction::hasAnyWasmLandingPadIndex ( ) const
inline

Return if there is any wasm exception handling.

Definition at line 1227 of file MachineFunction.h.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::empty().

◆ hasBBLabels()

bool llvm::MachineFunction::hasBBLabels ( ) const
inline

Returns true if basic block labels are to be generated for this function.

Definition at line 703 of file MachineFunction.h.

Referenced by llvm::AsmPrinter::emitFunctionBody(), and llvm::AsmPrinter::SetupMachineFunction().

◆ hasBBSections()

bool llvm::MachineFunction::hasBBSections ( ) const
inline

Returns true if this function has basic block sections enabled.

Definition at line 696 of file MachineFunction.h.

Referenced by assignSections(), getBBAddrMapFeature(), llvm::MachineBasicBlock::getSymbol(), and llvm::MIRParserImpl::initializeMachineFunction().

◆ hasCallSiteBeginLabel()

bool llvm::MachineFunction::hasCallSiteBeginLabel ( MCSymbol BeginLabel) const
inline

Return true if the begin label has a call site number associated with it.

Definition at line 1280 of file MachineFunction.h.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count().

◆ hasCallSiteLandingPad()

bool llvm::MachineFunction::hasCallSiteLandingPad ( MCSymbol Sym)
inline

Return true if the landing pad Eh symbol has an associated call site.

Definition at line 1259 of file MachineFunction.h.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::empty(), and Sym.

Referenced by llvm::VETargetLowering::emitSjLjDispatchBlock().

◆ hasEHCatchret()

bool llvm::MachineFunction::hasEHCatchret ( ) const
inline

Definition at line 1187 of file MachineFunction.h.

Referenced by llvm::MIRPrinter::print().

◆ hasEHFunclets()

bool llvm::MachineFunction::hasEHFunclets ( ) const
inline

◆ hasEHScopes()

bool llvm::MachineFunction::hasEHScopes ( ) const
inline

Definition at line 1190 of file MachineFunction.h.

Referenced by llvm::getEHScopeMembership(), and llvm::MIRPrinter::print().

◆ hasInlineAsm()

bool llvm::MachineFunction::hasInlineAsm ( ) const
inline

◆ hasWasmLandingPadIndex()

bool llvm::MachineFunction::hasWasmLandingPadIndex ( const MachineBasicBlock LPad) const
inline

Returns true if the landing pad has an associate index in wasm EH.

Definition at line 1237 of file MachineFunction.h.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count().

Referenced by llvm::WasmException::computeCallSiteTable(), and llvm::WasmException::endFunction().

◆ hasWinCFI()

bool llvm::MachineFunction::hasWinCFI ( ) const
inline

◆ initTargetMachineFunctionInfo()

void MachineFunction::initTargetMachineFunctionInfo ( const TargetSubtargetInfo STI)

Initialize the target specific MachineFunctionInfo.

Definition at line 252 of file MachineFunction.cpp.

References assert().

Referenced by llvm::MachineModuleInfo::getOrCreateMachineFunction().

◆ insert()

void llvm::MachineFunction::insert ( iterator  MBBI,
MachineBasicBlock MBB 
)
inline

◆ isOutlined()

bool llvm::MachineFunction::isOutlined ( ) const
inline

Definition at line 1196 of file MachineFunction.h.

Referenced by llvm::MIRPrinter::print().

◆ makeDebugValueSubstitution()

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 952 of file MachineFunction.cpp.

References A, assert(), B, DebugOperandMemNumber, and DebugValueSubstitutions.

Referenced by substituteDebugValuesForInst().

◆ moveCallSiteInfo()

void MachineFunction::moveCallSiteInfo ( 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 929 of file MachineFunction.cpp.

References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase(), eraseCallSiteInfo(), getCallInstr(), and llvm::MachineInstr::shouldUpdateCallSiteInfo().

Referenced by llvm::X86TargetLowering::EmitKCFICheck().

◆ needsFrameMoves()

bool MachineFunction::needsFrameMoves ( ) const

◆ operator=()

MachineFunction & llvm::MachineFunction::operator= ( const MachineFunction )
delete

◆ print()

void MachineFunction::print ( raw_ostream OS,
const SlotIndexes Indexes = nullptr 
) const

◆ push_back()

void llvm::MachineFunction::push_back ( MachineBasicBlock MBB)
inline

◆ push_front()

void llvm::MachineFunction::push_front ( MachineBasicBlock MBB)
inline

◆ rbegin() [1/2]

reverse_iterator llvm::MachineFunction::rbegin ( )
inline

Definition at line 927 of file MachineFunction.h.

Referenced by llvm::AsmPrinter::emitCFIInstruction().

◆ rbegin() [2/2]

const_reverse_iterator llvm::MachineFunction::rbegin ( ) const
inline

Definition at line 928 of file MachineFunction.h.

◆ remove() [1/2]

void llvm::MachineFunction::remove ( iterator  MBBI)
inline

◆ remove() [2/2]

void llvm::MachineFunction::remove ( MachineBasicBlock MBBI)
inline

◆ removeFromMBBNumbering()

void llvm::MachineFunction::removeFromMBBNumbering ( unsigned  N)
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 985 of file MachineFunction.h.

References assert(), and N.

◆ rend() [1/2]

reverse_iterator llvm::MachineFunction::rend ( )
inline

Definition at line 929 of file MachineFunction.h.

◆ rend() [2/2]

const_reverse_iterator llvm::MachineFunction::rend ( ) const
inline

Definition at line 930 of file MachineFunction.h.

◆ RenumberBlocks()

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 342 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().

◆ reset()

void llvm::MachineFunction::reset ( )
inline

Reset the instance as if it was just created.

Definition at line 643 of file MachineFunction.h.

References clear().

◆ resetDelegate()

void llvm::MachineFunction::resetDelegate ( Delegate delegate)
inline

Reset the currently registered delegate - otherwise assert.

Definition at line 649 of file MachineFunction.h.

References assert().

Referenced by llvm::RAIIDelegateInstaller::~RAIIDelegateInstaller(), and SlotIndexUpdateDelegate::~SlotIndexUpdateDelegate().

◆ salvageCopySSA()

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.

Returns
An instruction/operand pair identifying the defining value.

Definition at line 992 of file MachineFunction.cpp.

References assert(), MI, and TII.

Referenced by finalizeDebugInstrRefs().

◆ salvageCopySSAImpl()

auto MachineFunction::salvageCopySSAImpl ( MachineInstr MI)

◆ setAlignment()

void llvm::MachineFunction::setAlignment ( Align  A)
inline

setAlignment - Set the alignment of the function.

Definition at line 769 of file MachineFunction.h.

References A.

Referenced by llvm::MIRParserImpl::initializeMachineFunction(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().

◆ setBBSectionsType()

void llvm::MachineFunction::setBBSectionsType ( BasicBlockSection  V)
inline

Definition at line 707 of file MachineFunction.h.

Referenced by llvm::MIRParserImpl::initializeMachineFunction().

◆ setCallsEHReturn()

void llvm::MachineFunction::setCallsEHReturn ( bool  b)
inline

Definition at line 1182 of file MachineFunction.h.

Referenced by llvm::MIRParserImpl::initializeMachineFunction().

◆ setCallSiteBeginLabel()

void llvm::MachineFunction::setCallSiteBeginLabel ( MCSymbol BeginLabel,
unsigned  Site 
)
inline

Map the begin label for a call site.

Definition at line 1268 of file MachineFunction.h.

◆ setCallSiteLandingPad()

void MachineFunction::setCallSiteLandingPad ( MCSymbol Sym,
ArrayRef< unsigned Sites 
)

Map the landing pad's EH symbol to the call site indexes.

Definition at line 836 of file MachineFunction.cpp.

References llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::end(), and Sym.

◆ setCallsUnwindInit()

void llvm::MachineFunction::setCallsUnwindInit ( bool  b)
inline

Definition at line 1185 of file MachineFunction.h.

Referenced by llvm::MIRParserImpl::initializeMachineFunction().

◆ setDebugInstrNumberingCount()

void MachineFunction::setDebugInstrNumberingCount ( unsigned  Num)

Set value of DebugInstrNumberingCount field.

Avoid using this unless you're deserializing this data.

Definition at line 948 of file MachineFunction.cpp.

References DebugInstrNumberingCount.

◆ setDelegate()

void llvm::MachineFunction::setDelegate ( Delegate delegate)
inline

Set the delegate.

resetDelegate must be called before attempting to set.

Definition at line 657 of file MachineFunction.h.

References assert().

Referenced by llvm::RAIIDelegateInstaller::RAIIDelegateInstaller(), and SlotIndexUpdateDelegate::SlotIndexUpdateDelegate().

◆ setExposesReturnsTwice()

void llvm::MachineFunction::setExposesReturnsTwice ( bool  B)
inline

setCallsSetJmp - Set a flag that indicates if there's a call to a "returns twice" function.

Definition at line 786 of file MachineFunction.h.

References B.

Referenced by llvm::MIRParserImpl::initializeMachineFunction(), and llvm::SelectionDAGISel::runOnMachineFunction().

◆ setHasEHCatchret()

void llvm::MachineFunction::setHasEHCatchret ( bool  V)
inline

Definition at line 1188 of file MachineFunction.h.

Referenced by llvm::MIRParserImpl::initializeMachineFunction().

◆ setHasEHFunclets()

void llvm::MachineFunction::setHasEHFunclets ( bool  V)
inline

◆ setHasEHScopes()

void llvm::MachineFunction::setHasEHScopes ( bool  V)
inline

◆ setHasInlineAsm()

void llvm::MachineFunction::setHasInlineAsm ( bool  B)
inline

Set a flag that indicates that the function contains inline assembly.

Definition at line 796 of file MachineFunction.h.

References B.

Referenced by llvm::InstructionSelect::runOnMachineFunction(), and llvm::SelectionDAGISel::runOnMachineFunction().

◆ setHasWinCFI()

void llvm::MachineFunction::setHasWinCFI ( bool  v)
inline

◆ setIsOutlined()

void llvm::MachineFunction::setIsOutlined ( bool  V)
inline

Definition at line 1197 of file MachineFunction.h.

Referenced by llvm::MIRParserImpl::initializeMachineFunction().

◆ setObserver()

void llvm::MachineFunction::setObserver ( GISelChangeObserver O)
inline

◆ setSection()

void llvm::MachineFunction::setSection ( MCSection S)
inline

Indicates the Section this function belongs to.

Definition at line 676 of file MachineFunction.h.

◆ setUseDebugInstrRef()

void MachineFunction::setUseDebugInstrRef ( bool  UseInstrRef)

Set whether this function will use instruction referencing or not.

Definition at line 1245 of file MachineFunction.cpp.

References UseDebugInstrRef.

Referenced by llvm::SelectionDAGISel::runOnMachineFunction().

◆ setVariableDbgInfo() [1/2]

void llvm::MachineFunction::setVariableDbgInfo ( const DILocalVariable Var,
const DIExpression Expr,
int  Slot,
const DILocation Loc 
)
inline

Collect information used to emit debugging information of a variable in a stack slot.

Definition at line 1308 of file MachineFunction.h.

References llvm::SmallVectorImpl< T >::emplace_back().

Referenced by llvm::MIRParserImpl::initializeFrameInfo(), llvm::MIRParserImpl::parseStackObjectsDebugInfo(), processDbgDeclare(), and processIfEntryValueDbgDeclare().

◆ setVariableDbgInfo() [2/2]

void llvm::MachineFunction::setVariableDbgInfo ( const DILocalVariable Var,
const DIExpression Expr,
MCRegister  Reg,
const DILocation Loc 
)
inline

Collect information used to emit debugging information of a variable in the entry value of a register.

Definition at line 1315 of file MachineFunction.h.

References llvm::SmallVectorImpl< T >::emplace_back(), and Reg.

◆ setWasmLandingPadIndex()

void llvm::MachineFunction::setWasmLandingPadIndex ( const MachineBasicBlock LPad,
unsigned  Index 
)
inline

Map the landing pad to its index. Used for Wasm exception handling.

Definition at line 1232 of file MachineFunction.h.

References Index.

Referenced by mapWasmLandingPadIndex().

◆ shouldSplitStack()

bool MachineFunction::shouldSplitStack ( ) const

Should we be emitting segmented stack stuff for the function.

Definition at line 328 of file MachineFunction.cpp.

References getFunction(), and llvm::Function::hasFnAttribute().

Referenced by llvm::X86FrameLowering::emitPrologue(), llvm::X86FrameLowering::enableShrinkWrapping(), and llvm::AsmPrinter::SetupMachineFunction().

◆ shouldUseDebugInstrRef()

bool MachineFunction::shouldUseDebugInstrRef ( ) const

Determine whether, in the current machine configuration, we should use instruction referencing or not.

Definition at line 1223 of file MachineFunction.cpp.

References llvm::debuginfoShouldUseDebugInstrRef(), F, getTarget(), and llvm::None.

Referenced by llvm::SelectionDAGISel::runOnMachineFunction().

◆ size()

unsigned llvm::MachineFunction::size ( ) const
inline

◆ sort()

template<typename Comp >
void llvm::MachineFunction::sort ( Comp  comp)
inline

Definition at line 960 of file MachineFunction.h.

Referenced by llvm::sortBasicBlocksAndUpdateBranches().

◆ splice() [1/3]

void llvm::MachineFunction::splice ( iterator  InsertPt,
iterator  MBBI 
)
inline

◆ splice() [2/3]

void llvm::MachineFunction::splice ( iterator  InsertPt,
iterator  MBBI,
iterator  MBBE 
)
inline

◆ splice() [3/3]

void llvm::MachineFunction::splice ( iterator  InsertPt,
MachineBasicBlock MBB 
)
inline

◆ substituteDebugValuesForInst()

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 963 of file MachineFunction.cpp.

References assert(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), I, makeDebugValueSubstitution(), and llvm::MachineInstr::peekDebugInstrNum().

◆ useDebugInstrRef()

bool MachineFunction::useDebugInstrRef ( ) const

Returns true if the function's variable locations are tracked with instruction referencing.

Definition at line 1241 of file MachineFunction.cpp.

References UseDebugInstrRef.

Referenced by llvm::InstrEmitter::InstrEmitter(), llvm::FastISel::lowerDbgDeclare(), llvm::FastISel::lowerDbgValue(), llvm::MIRPrinter::print(), and llvm::SelectionDAGISel::runOnMachineFunction().

◆ verify() [1/2]

bool MachineFunction::verify ( LiveIntervals LiveInts,
SlotIndexes Indexes,
const char Banner = nullptr,
bool  AbortOnError = true 
) const

Run the current MachineFunction through the machine code verifier, useful for debugger use.

Returns
true if no problems were found.

Definition at line 371 of file MachineVerifier.cpp.

References llvm::report_fatal_error().

◆ verify() [2/2]

bool MachineFunction::verify ( Pass p = nullptr,
const char Banner = nullptr,
bool  AbortOnError = true 
) const

Run the current MachineFunction through the machine code verifier, useful for debugger use.

Returns
true if no problems were found.

Definition at line 362 of file MachineVerifier.cpp.

References llvm::report_fatal_error().

Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), and llvm::MIRParserImpl::initializeMachineFunction().

◆ viewCFG()

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 699 of file MachineFunction.cpp.

References llvm::errs(), getName(), and llvm::ViewGraph().

◆ viewCFGOnly()

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 709 of file MachineFunction.cpp.

References llvm::errs(), getName(), and llvm::ViewGraph().

Friends And Related Function Documentation

◆ ilist_traits< MachineInstr >

friend struct ilist_traits< MachineInstr >
friend

Definition at line 504 of file MachineFunction.h.

Member Data Documentation

◆ DebugInstrNumberingCount

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 517 of file MachineFunction.h.

Referenced by setDebugInstrNumberingCount().

◆ DebugOperandMemNumber

const unsigned MachineFunction::DebugOperandMemNumber = 1000000
static

A reserved operand number representing the instructions memory operand, for instructions that have a stack spill fused into them.

Definition at line 633 of file MachineFunction.h.

Referenced by makeDebugValueSubstitution().

◆ DebugPHIPositions

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 574 of file MachineFunction.h.

◆ DebugValueSubstitutions

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 556 of file MachineFunction.h.

Referenced by makeDebugValueSubstitution(), and llvm::MIRPrinter::print().

◆ UseDebugInstrRef

bool llvm::MachineFunction::UseDebugInstrRef = false

Flag for whether this function contains DBG_VALUEs (false) or DBG_INSTR_REF (true).

Definition at line 578 of file MachineFunction.h.

Referenced by setUseDebugInstrRef(), and useDebugInstrRef().

◆ VariableDbgInfos

VariableDbgInfoMapTy llvm::MachineFunction::VariableDbgInfos

Definition at line 512 of file MachineFunction.h.


The documentation for this class was generated from the following files: