LLVM
8.0.1
|
#include "llvm/CodeGen/MachineFunction.h"
Classes | |
class | Delegate |
struct | VariableDbgInfo |
Public Types | |
using | VariableDbgInfoMapTy = SmallVector< VariableDbgInfo, 4 > |
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 | |
MachineFunction (const Function &F, const LLVMTargetMachine &Target, const TargetSubtargetInfo &STI, unsigned FunctionNum, MachineModuleInfo &MMI) | |
MachineFunction (const MachineFunction &)=delete | |
MachineFunction & | operator= (const MachineFunction &)=delete |
~MachineFunction () | |
void | reset () |
Reset the instance as if it was just created. More... | |
void | resetDelegate (Delegate *delegate) |
Reset the currently registered delegate - otherwise assert. More... | |
void | setDelegate (Delegate *delegate) |
Set the delegate. More... | |
MachineModuleInfo & | getMMI () const |
MCContext & | getContext () const |
PseudoSourceValueManager & | getPSVManager () const |
const DataLayout & | getDataLayout () const |
Return the DataLayout attached to the Module associated to this MF. More... | |
const Function & | getFunction () const |
Return the LLVM function that this machine code represents. More... | |
StringRef | getName () const |
getName - Return the name of the corresponding LLVM function. More... | |
unsigned | getFunctionNumber () const |
getFunctionNumber - Return a unique ID for the current function. More... | |
const LLVMTargetMachine & | getTarget () const |
getTarget - Return the target machine this machine code is compiled with More... | |
const TargetSubtargetInfo & | getSubtarget () const |
getSubtarget - Return the subtarget for which this machine code is being compiled. More... | |
void | setSubtarget (const TargetSubtargetInfo *ST) |
template<typename STC > | |
const STC & | getSubtarget () const |
getSubtarget - This method returns a pointer to the specified type of TargetSubtargetInfo. More... | |
MachineRegisterInfo & | getRegInfo () |
getRegInfo - Return information about the registers currently in use. More... | |
const MachineRegisterInfo & | getRegInfo () const |
MachineFrameInfo & | getFrameInfo () |
getFrameInfo - Return the frame info object for the current function. More... | |
const MachineFrameInfo & | getFrameInfo () const |
const MachineJumpTableInfo * | getJumpTableInfo () const |
getJumpTableInfo - Return the jump table info object for the current function. More... | |
MachineJumpTableInfo * | getJumpTableInfo () |
MachineJumpTableInfo * | getOrCreateJumpTableInfo (unsigned JTEntryKind) |
getOrCreateJumpTableInfo - Get the JumpTableInfo for this function, if it does already exist, allocate one. More... | |
MachineConstantPool * | getConstantPool () |
getConstantPool - Return the constant pool object for the current function. More... | |
const MachineConstantPool * | getConstantPool () const |
const WasmEHFuncInfo * | getWasmEHFuncInfo () const |
getWasmEHFuncInfo - Return information about how the current function uses Wasm exception handling. More... | |
WasmEHFuncInfo * | getWasmEHFuncInfo () |
const WinEHFuncInfo * | getWinEHFuncInfo () const |
getWinEHFuncInfo - Return information about how the current function uses Windows exception handling. More... | |
WinEHFuncInfo * | getWinEHFuncInfo () |
unsigned | getAlignment () const |
getAlignment - Return the alignment (log2, not bytes) of the function. More... | |
void | setAlignment (unsigned A) |
setAlignment - Set the alignment (log2, not bytes) of the function. More... | |
void | ensureAlignment (unsigned A) |
ensureAlignment - Make sure the function is at least 1 << A bytes aligned. More... | |
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. More... | |
void | setExposesReturnsTwice (bool B) |
setCallsSetJmp - Set a flag that indicates if there's a call to a "returns twice" function. More... | |
bool | hasInlineAsm () const |
Returns true if the function contains any inline assembly. More... | |
void | setHasInlineAsm (bool B) |
Set a flag that indicates that the function contains inline assembly. More... | |
bool | hasWinCFI () const |
void | setHasWinCFI (bool v) |
const MachineFunctionProperties & | getProperties () const |
Get the function properties. More... | |
MachineFunctionProperties & | getProperties () |
template<typename Ty > | |
Ty * | getInfo () |
getInfo - Keep track of various per-function pieces of information for backends that would like to do so. More... | |
template<typename Ty > | |
const Ty * | getInfo () const |
MachineBasicBlock * | getBlockNumbered (unsigned N) const |
getBlockNumbered - MachineBasicBlocks are automatically numbered when they are inserted into the machine function. More... | |
bool | shouldSplitStack () const |
Should we be emitting segmented stack stuff for the function. More... | |
unsigned | getNumBlockIDs () const |
getNumBlockIDs - Return the number of MBB ID's allocated. More... | |
void | RenumberBlocks (MachineBasicBlock *MBBFrom=nullptr) |
RenumberBlocks - This discards all of the MachineBasicBlock numbers and recomputes them. More... | |
void | print (raw_ostream &OS, const SlotIndexes *=nullptr) const |
print - Print out the MachineFunction in a format suitable for debugging to the specified stream. More... | |
void | viewCFG () const |
viewCFG - This function is meant for use from the debugger. More... | |
void | viewCFGOnly () const |
viewCFGOnly - This function is meant for use from the debugger. More... | |
void | dump () const |
dump - Print the current MachineFunction to cerr, useful for debugger use. More... | |
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. More... | |
unsigned | addLiveIn (unsigned PReg, const TargetRegisterClass *RC) |
addLiveIn - Add the specified physical register as a live-in value and create a corresponding virtual register for it. More... | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
unsigned | size () const |
bool | empty () const |
const MachineBasicBlock & | front () const |
MachineBasicBlock & | front () |
const MachineBasicBlock & | back () const |
MachineBasicBlock & | back () |
void | push_back (MachineBasicBlock *MBB) |
void | push_front (MachineBasicBlock *MBB) |
void | insert (iterator MBBI, MachineBasicBlock *MBB) |
void | splice (iterator InsertPt, iterator MBBI) |
void | splice (iterator InsertPt, MachineBasicBlock *MBB) |
void | splice (iterator InsertPt, iterator MBBI, iterator MBBE) |
void | remove (iterator MBBI) |
void | remove (MachineBasicBlock *MBBI) |
void | erase (iterator MBBI) |
void | erase (MachineBasicBlock *MBBI) |
template<typename Comp > | |
void | sort (Comp comp) |
unsigned | getInstructionCount () const |
Return the number of MachineInstrs in this MachineFunction . More... | |
unsigned | addToMBBNumbering (MachineBasicBlock *MBB) |
Adds the MBB to the internal numbering. More... | |
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. More... | |
MachineInstr * | CreateMachineInstr (const MCInstrDesc &MCID, const DebugLoc &DL, bool NoImp=false) |
CreateMachineInstr - Allocate a new MachineInstr. More... | |
MachineInstr * | CloneMachineInstr (const MachineInstr *Orig) |
Create a new MachineInstr which is a copy of Orig , identical in all ways except the instruction has no parent, prev, or next. More... | |
MachineInstr & | CloneMachineInstrBundle (MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore, const MachineInstr &Orig) |
Clones instruction or the whole instruction bundle Orig and insert into MBB before InsertBefore . More... | |
void | DeleteMachineInstr (MachineInstr *MI) |
DeleteMachineInstr - Delete the given MachineInstr. More... | |
MachineBasicBlock * | CreateMachineBasicBlock (const BasicBlock *bb=nullptr) |
CreateMachineBasicBlock - Allocate a new MachineBasicBlock. More... | |
void | DeleteMachineBasicBlock (MachineBasicBlock *MBB) |
DeleteMachineBasicBlock - Delete the given MachineBasicBlock. More... | |
MachineMemOperand * | getMachineMemOperand (MachinePointerInfo PtrInfo, MachineMemOperand::Flags f, uint64_t s, unsigned 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. More... | |
MachineMemOperand * | getMachineMemOperand (const MachineMemOperand *MMO, int64_t Offset, uint64_t Size) |
getMachineMemOperand - Allocate a new MachineMemOperand by copying an existing one, adjusting by an offset and using the given size. More... | |
MachineMemOperand * | getMachineMemOperand (const MachineMemOperand *MMO, const AAMDNodes &AAInfo) |
Allocate a new MachineMemOperand by copying an existing one, replacing only AliasAnalysis information. More... | |
MachineOperand * | allocateOperandArray (OperandCapacity Cap) |
Allocate an array of MachineOperands. More... | |
void | deallocateOperandArray (OperandCapacity Cap, MachineOperand *Array) |
Dellocate an array of MachineOperands and recycle the memory. More... | |
uint32_t * | allocateRegMask () |
Allocate and initialize a register mask with NumRegister bits. More... | |
MachineInstr::ExtraInfo * | createMIExtraInfo (ArrayRef< MachineMemOperand *> MMOs, MCSymbol *PreInstrSymbol=nullptr, MCSymbol *PostInstrSymbol=nullptr) |
Allocate and construct an extra info structure for a MachineInstr . More... | |
const char * | createExternalSymbolName (StringRef Name) |
Allocate a string and populate it with the given external symbol name. More... | |
MCSymbol * | getJTISymbol (unsigned JTI, MCContext &Ctx, bool isLinkerPrivate=false) const |
getJTISymbol - Return the MCSymbol for the specified non-empty jump table. More... | |
MCSymbol * | getPICBaseSymbol () const |
getPICBaseSymbol - Return a function-local symbol to represent the PIC base. More... | |
const std::vector< MCCFIInstruction > & | getFrameInstructions () const |
Returns a reference to a list of cfi instructions in the function's prologue. More... | |
LLVM_NODISCARD unsigned | addFrameInst (const MCCFIInstruction &Inst) |
void | setVariableDbgInfo (const DILocalVariable *Var, const DIExpression *Expr, int Slot, const DILocation *Loc) |
Collect information used to emit debugging information of a variable. More... | |
VariableDbgInfoMapTy & | getVariableDbgInfo () |
const VariableDbgInfoMapTy & | getVariableDbgInfo () const |
Static Public Member Functions | |
static BasicBlockListType MachineFunction::* | getSublistAccess (MachineBasicBlock *) |
Support for MachineBasicBlock::getNextNode(). More... | |
Public Attributes | |
VariableDbgInfoMapTy | VariableDbgInfos |
Friends | |
struct | ilist_traits< MachineInstr > |
Exception Handling | |
bool | callsEHReturn () const |
void | setCallsEHReturn (bool b) |
bool | callsUnwindInit () const |
void | setCallsUnwindInit (bool b) |
bool | hasEHScopes () const |
void | setHasEHScopes (bool V) |
bool | hasEHFunclets () const |
void | setHasEHFunclets (bool V) |
bool | hasLocalEscape () const |
void | setHasLocalEscape (bool V) |
LandingPadInfo & | getOrCreateLandingPadInfo (MachineBasicBlock *LandingPad) |
Find or create an LandingPadInfo for the specified MachineBasicBlock. More... | |
void | tidyLandingPads (DenseMap< MCSymbol *, uintptr_t > *LPMap=nullptr, bool TidyIfNoBeginLabels=true) |
Remap landing pad labels and remove any deleted landing pads. More... | |
const std::vector< LandingPadInfo > & | getLandingPads () const |
Return a reference to the landing pad info for the current function. More... | |
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. More... | |
MCSymbol * | addLandingPad (MachineBasicBlock *LandingPad) |
Add a new panding pad, and extract the exception handling information from the landingpad instruction. More... | |
void | addCatchTypeInfo (MachineBasicBlock *LandingPad, ArrayRef< const GlobalValue *> TyInfo) |
Provide the catch typeinfo for a landing pad. More... | |
void | addFilterTypeInfo (MachineBasicBlock *LandingPad, ArrayRef< const GlobalValue *> TyInfo) |
Provide the filter typeinfo for a landing pad. More... | |
void | addCleanup (MachineBasicBlock *LandingPad) |
Add a cleanup action for a landing pad. More... | |
void | addSEHCatchHandler (MachineBasicBlock *LandingPad, const Function *Filter, const BlockAddress *RecoverBA) |
void | addSEHCleanupHandler (MachineBasicBlock *LandingPad, const Function *Cleanup) |
unsigned | getTypeIDFor (const GlobalValue *TI) |
Return the type id for the specified typeinfo. This is function wide. More... | |
int | getFilterIDFor (std::vector< unsigned > &TyIds) |
Return the id of the filter encoded by TyIds. This is function wide. More... | |
void | setCallSiteLandingPad (MCSymbol *Sym, ArrayRef< unsigned > Sites) |
Map the landing pad's EH symbol to the call site indexes. More... | |
void | setWasmLandingPadIndex (const MachineBasicBlock *LPad, unsigned Index) |
Map the landing pad to its index. Used for Wasm exception handling. More... | |
bool | hasWasmLandingPadIndex (const MachineBasicBlock *LPad) const |
Returns true if the landing pad has an associate index in wasm EH. More... | |
unsigned | getWasmLandingPadIndex (const MachineBasicBlock *LPad) const |
Get the index in wasm EH for a given landing pad. More... | |
SmallVectorImpl< unsigned > & | getCallSiteLandingPad (MCSymbol *Sym) |
Get the call site indexes for a landing pad EH symbol. More... | |
bool | hasCallSiteLandingPad (MCSymbol *Sym) |
Return true if the landing pad Eh symbol has an associated call site. More... | |
void | setCallSiteBeginLabel (MCSymbol *BeginLabel, unsigned Site) |
Map the begin label for a call site. More... | |
unsigned | getCallSiteBeginLabel (MCSymbol *BeginLabel) const |
Get the call site number for a begin label. More... | |
bool | hasCallSiteBeginLabel (MCSymbol *BeginLabel) const |
Return true if the begin label has a call site number associated with it. More... | |
void | addCodeViewAnnotation (MCSymbol *Label, MDNode *MD) |
Record annotations associated with a particular label. More... | |
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. More... | |
const std::vector< unsigned > & | getFilterIds () const |
Return a reference to the typeids encoding filters used in the current function. More... | |
Definition at line 226 of file MachineFunction.h.
Definition at line 604 of file MachineFunction.h.
Definition at line 605 of file MachineFunction.h.
using llvm::MachineFunction::iterator = BasicBlockListType::iterator |
Definition at line 603 of file MachineFunction.h.
using llvm::MachineFunction::OperandCapacity = ArrayRecycler<MachineOperand>::Capacity |
Definition at line 745 of file MachineFunction.h.
Definition at line 606 of file MachineFunction.h.
Definition at line 391 of file MachineFunction.h.
MachineFunction::MachineFunction | ( | const Function & | F, |
const LLVMTargetMachine & | Target, | ||
const TargetSubtargetInfo & | STI, | ||
unsigned | FunctionNum, | ||
MachineModuleInfo & | MMI | ||
) |
Definition at line 133 of file MachineFunction.cpp.
References AlignAllFunctions, assert(), llvm::classifyEHPersonality(), llvm::MachineFrameInfo::ensureMaxAlignment(), getDataLayout(), getFnStackAlignment(), llvm::Function::getFnStackAlignment(), llvm::TargetSubtargetInfo::getFrameLowering(), llvm::TargetLoweringBase::getMinFunctionAlignment(), llvm::Function::getPersonalityFn(), llvm::TargetLoweringBase::getPrefFunctionAlignment(), llvm::TargetSubtargetInfo::getRegisterInfo(), getSubtarget(), llvm::TargetSubtargetInfo::getTargetLowering(), llvm::Function::hasFnAttribute(), llvm::Function::hasPersonalityFn(), llvm::isFuncletEHPersonality(), llvm::isScopedEHPersonality(), llvm::MachineFunctionProperties::IsSSA, llvm::TargetFrameLowering::isStackRealignable(), llvm::max(), llvm::MachineFunction::Delegate::MF_HandleInsertion(), llvm::MachineFunction::Delegate::MF_HandleRemoval(), MI, llvm::Attribute::OptimizeForSize, llvm::MachineFunctionProperties::set(), llvm::Attribute::StackAlignment, and llvm::MachineFunctionProperties::TracksLiveness.
|
delete |
MachineFunction::~MachineFunction | ( | ) |
Definition at line 207 of file MachineFunction.cpp.
References begin(), llvm::ArrayRecycler< T, Align >::clear(), llvm::SmallVectorImpl< T >::clear(), llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold >::Deallocate(), E, end(), llvm::iplist_impl< IntrusiveListT, TraitsT >::erase(), I, llvm::MachineFunctionProperties::reset(), VariableDbgInfos, and llvm::MachineFunctionInfo::~MachineFunctionInfo().
void MachineFunction::addCatchTypeInfo | ( | MachineBasicBlock * | LandingPad, |
ArrayRef< const GlobalValue *> | TyInfo | ||
) |
Provide the catch typeinfo for a landing pad.
Definition at line 678 of file MachineFunction.cpp.
References getOrCreateLandingPadInfo(), getTypeIDFor(), N, llvm::ArrayRef< T >::size(), and llvm::LandingPadInfo::TypeIds.
Referenced by addLandingPad().
void MachineFunction::addCleanup | ( | MachineBasicBlock * | LandingPad | ) |
Add a cleanup action for a landing pad.
Definition at line 740 of file MachineFunction.cpp.
References getOrCreateLandingPadInfo(), and llvm::LandingPadInfo::TypeIds.
Referenced by addLandingPad().
Record annotations associated with a particular label.
Definition at line 912 of file MachineFunction.h.
Referenced by getUnderlyingArgReg().
void MachineFunction::addFilterTypeInfo | ( | MachineBasicBlock * | LandingPad, |
ArrayRef< const GlobalValue *> | TyInfo | ||
) |
Provide the filter typeinfo for a landing pad.
Definition at line 685 of file MachineFunction.cpp.
References E, getFilterIDFor(), getOrCreateLandingPadInfo(), getTypeIDFor(), I, llvm::ArrayRef< T >::size(), and llvm::LandingPadInfo::TypeIds.
Referenced by addLandingPad().
|
inline |
Definition at line 795 of file MachineFunction.h.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::BuildCFI(), llvm::AArch64InstrInfo::buildOutlinedFrame(), llvm::AArch64FrameLowering::emitCalleeSavedFrameMoves(), EmitCfiOffset(), EmitDefCfaOffset(), EmitDefCfaRegister(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::Mips16FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::HexagonFrameLowering::insertCFIInstructions(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), and WindowsRequiresStackProbe().
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 624 of file MachineFunction.cpp.
References llvm::LandingPadInfo::BeginLabels, llvm::LandingPadInfo::EndLabels, and getOrCreateLandingPadInfo().
Referenced by llvm::SelectionDAGBuilder::lowerInvokable().
MCSymbol * MachineFunction::addLandingPad | ( | MachineBasicBlock * | LandingPad | ) |
Add a new panding pad, and extract the exception handling information from the landingpad instruction.
Returns the label ID for the landing pad entry.
Definition at line 631 of file MachineFunction.cpp.
References addCatchTypeInfo(), addCleanup(), addFilterTypeInfo(), llvm::MachineModuleInfo::addPersonality(), assert(), F(), llvm::MachineBasicBlock::getBasicBlock(), llvm::BasicBlock::getFirstNonPHI(), getMMI(), getOrCreateLandingPadInfo(), I, llvm::ARM_PROC::IE, llvm::LandingPadInfo::LandingPadLabel, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::Value::stripPointerCasts().
Referenced by mapWasmLandingPadIndex().
unsigned MachineFunction::addLiveIn | ( | unsigned | PReg, |
const TargetRegisterClass * | RC | ||
) |
addLiveIn - Add the specified physical register as a live-in value and create a corresponding virtual register for it.
Add the specified physical register as a live-in value and create a corresponding virtual register for it.
Definition at line 562 of file MachineFunction.cpp.
References llvm::MachineRegisterInfo::addLiveIn(), assert(), llvm::TargetRegisterClass::contains(), llvm::MachineRegisterInfo::createVirtualRegister(), llvm::MachineRegisterInfo::getLiveInVirtReg(), llvm::MachineRegisterInfo::getRegClass(), getRegInfo(), llvm::TargetRegisterClass::hasSubClassEq(), and MRI.
Referenced by allocateHSAUserSGPRs(), allocateSGPR32InputImpl(), allocateSpecialEntryInputVGPRs(), allocateSystemSGPRs(), allocateVGPR32Input(), llvm::analyzeArguments(), llvm::CCState::analyzeMustTailForwardedRegisters(), llvm::AArch64TargetLowering::CCAssignFnForReturn(), EnsureStackAlignment(), getv64i1Argument(), isSortedByValueNo(), lowerFCOPYSIGN64(), llvm::AMDGPUCallLowering::lowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), llvm::RISCVTargetLowering::LowerOperation(), llvm::LanaiTargetLowering::LowerRETURNADDR(), llvm::HexagonTargetLowering::LowerRETURNADDR(), LowerRETURNADDR(), LowerVASTART(), LowerVectorINT_TO_FP(), and mayTailCallThisCC().
void MachineFunction::addSEHCatchHandler | ( | MachineBasicBlock * | LandingPad, |
const Function * | Filter, | ||
const BlockAddress * | RecoverBA | ||
) |
Definition at line 745 of file MachineFunction.cpp.
References llvm::Filter, llvm::SEHHandler::FilterOrFinally, getOrCreateLandingPadInfo(), llvm::SEHHandler::RecoverBA, and llvm::LandingPadInfo::SEHHandlers.
void MachineFunction::addSEHCleanupHandler | ( | MachineBasicBlock * | LandingPad, |
const Function * | Cleanup | ||
) |
Definition at line 755 of file MachineFunction.cpp.
References llvm::SEHHandler::FilterOrFinally, getOrCreateLandingPadInfo(), llvm::SEHHandler::RecoverBA, and llvm::LandingPadInfo::SEHHandlers.
|
inline |
Adds the MBB to the internal numbering.
Returns the unique number assigned to the MBB.
Definition at line 676 of file MachineFunction.h.
Referenced by llvm::printMBBReference().
|
inline |
Allocate an array of MachineOperands.
This is only intended for use by internal MachineInstr functions.
Definition at line 749 of file MachineFunction.h.
References llvm::ArrayRecycler< T, Align >::allocate().
Referenced by llvm::MachineInstr::addImplicitDefUseOperands(), and llvm::MachineInstr::addOperand().
uint32_t * MachineFunction::allocateRegMask | ( | ) |
Allocate and initialize a register mask with NumRegister
bits.
Definition at line 443 of file MachineFunction.cpp.
References llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold >::Allocate(), llvm::MCRegisterInfo::getNumRegs(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineOperand::getRegMaskSize(), getSubtarget(), llvm::BitmaskEnumDetail::Mask(), llvm::Intrinsic::memset, and Size.
Referenced by getMOVL(), INITIALIZE_PASS(), and llvm::AArch64RegisterInfo::UpdateCustomCallPreservedMask().
|
inline |
Definition at line 635 of file MachineFunction.h.
Referenced by AppendEndToFunction(), MaybeRewriteToFallthrough(), and salvageDebugInfoFromEmptyBlock().
|
inline |
Definition at line 636 of file MachineFunction.h.
|
inline |
Definition at line 621 of file MachineFunction.h.
Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::DwarfCFIException::beginFunction(), containsNewBackedge(), llvm::createR600ExpandSpecialInstrsPass(), llvm::createSIAddIMGInitPass(), llvm::createSIWholeQuadModePass(), createSwiftErrorEntriesInEntryBlock(), llvm::createX86FixupLEAs(), llvm::createX86IndirectBranchTrackingPass(), llvm::createX86RetpolineThunksPass(), llvm::createXCoreFrameToArgsOffsetEliminationPass(), doesNotGeneratecode(), llvm::AVRTargetLowering::EmitInstrWithCustomInserter(), llvm::AVRFrameLowering::emitPrologue(), llvm::MSP430FrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), llvm::ScheduleDAGSDNodes::EmitSchedule(), llvm::finalizeBundles(), findStartOfTree(), llvm::HexagonInstrInfo::genAllInsnTimingClasses(), getBBFallenThrough(), getLayoutSuccessorProbThreshold(), getNewValueJumpOpcode(), getReassignedChan(), llvm::MachineLoop::getTopBlock(), getTryAncestor(), giveUpWithRemarks(), HandleVRSaveUpdate(), HasArgumentDef(), hasVulnerableLoad(), hoistAndMergeSGPRInits(), INITIALIZE_PASS(), insertCopy(), InsertLDR_STR(), isCopy(), isFunctionEntryBlock(), IsMovepDestinationRegPair(), isTerminalReg(), IsUnconditionalJump(), matchPair(), matchSwap(), mergeOperations(), llvm::GraphTraits< MachineBlockFrequencyInfo * >::nodes_begin(), llvm::GraphTraits< MachineFunction * >::nodes_begin(), llvm::GraphTraits< const MachineFunction * >::nodes_begin(), false::IntervalSorter::operator()(), printExtendedName(), ProfitableToMerge(), readsVCCZ(), removeExternalCFGEdges(), RemoveVRSaveCode(), RenumberBlocks(), llvm::PPCFrameLowering::replaceFPWithRealFP(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::UnreachableBlockElimPass::run(), llvm::InsertNOPLoad::runOnMachineFunction(), llvm::DetectRoundChange::runOnMachineFunction(), llvm::FixAllFDIVSQRT::runOnMachineFunction(), salvageDebugInfoFromEmptyBlock(), splitBlock(), llvm::TailDuplicator::tailDuplicateBlocks(), llvm::LoopTraversal::traverse(), verify(), verifyCTRBranch(), verifyLeafProcRegUse(), VerifyPHIs(), and ~MachineFunction().
|
inline |
Definition at line 622 of file MachineFunction.h.
|
inline |
Definition at line 803 of file MachineFunction.h.
Referenced by llvm::XCoreFrameLowering::determineCalleeSaves(), findDeadCallerSavedReg(), llvm::X86RegisterInfo::getCalleeSavedRegs(), and llvm::X86FrameLowering::hasFP().
|
inline |
Definition at line 806 of file MachineFunction.h.
Referenced by llvm::XCoreFrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), and llvm::X86FrameLowering::hasFP().
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 329 of file MachineFunction.cpp.
Referenced by llvm::SwingSchedulerDAG::applyInstrChange(), llvm::WebAssemblyDebugValueManager::clone(), CloneMachineInstrBundle(), llvm::TargetInstrInfo::commuteInstructionImpl(), llvm::SystemZInstrInfo::commuteInstructionImpl(), llvm::X86InstrInfo::commuteInstructionImpl(), llvm::SwingSchedulerDAG::fixupRegisterOverlaps(), for(), llvm::RegBankSelect::getAnalysisUsage(), getDPPOp(), isIntersect(), MaySpeculate(), llvm::ARMBaseInstrInfo::reMaterialize(), llvm::X86InstrInfo::reMaterialize(), llvm::TargetInstrInfo::reMaterialize(), removePhis(), and llvm::SystemZInstrInfo::SystemZInstrInfo().
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 334 of file MachineFunction.cpp.
References llvm::MachineInstr::bundleWithPred(), CloneMachineInstr(), llvm::ilist_node_impl< OptionsT >::getIterator(), I, and llvm::MachineBasicBlock::insert().
Referenced by llvm::TargetInstrInfo::duplicate().
Allocate a string and populate it with the given external symbol name.
Definition at line 436 of file MachineFunction.cpp.
References llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold >::Allocate(), llvm::copy(), and llvm::StringRef::size().
Referenced by addAsmInstr(), CallingConvSupported(), llvm::WebAssemblyFrameLowering::emitPrologue(), llvm::X86FrameLowering::inlineStackProbe(), and llvm::WebAssemblyFrameLowering::writeSPToGlobal().
MachineBasicBlock * MachineFunction::CreateMachineBasicBlock | ( | const BasicBlock * | bb = nullptr | ) |
CreateMachineBasicBlock - Allocate a new MachineBasicBlock.
Allocate a new MachineBasicBlock.
Use this instead of `new MachineBasicBlock'.
Definition at line 373 of file MachineFunction.cpp.
Referenced by addExclusiveRegPair(), llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::analyzeArguments(), ComputeCommonTailLength(), createPHIsForCMOVsInSinkBB(), llvm::createX86RetpolineThunksPass(), llvm::PPCTargetLowering::EmitAtomicBinary(), emitBlockAfter(), emitClzero(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::AArch64TargetLowering::EmitF128CSEL(), llvm::BPFTargetLowering::EmitInstrWithCustomInserter(), llvm::RISCVTargetLowering::EmitInstrWithCustomInserter(), llvm::AVRTargetLowering::EmitInstrWithCustomInserter(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), emitPostSt(), llvm::MSP430TargetLowering::EmitShiftInstr(), emitXBegin(), llvm::SparcTargetLowering::expandSelectCC(), llvm::SelectionDAGBuilder::FindMergedConditions(), getRetpolineSymbol(), llvm::MipsTargetLowering::HandleByVal(), hasOneExitNode(), INITIALIZE_PASS(), llvm::X86FrameLowering::inlineStackProbe(), isFunctionEntryBlock(), isImmValidForOpcode(), isIntersect(), loadM0FromVGPR(), loadSRsrcFromVGPR(), LowerFPToInt(), makeImplicit(), packCmovGroup(), removeExternalCFGEdges(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::FunctionLoweringInfo::set(), split(), splitBlock(), llvm::MachineBasicBlock::SplitCriticalEdge(), llvm::SITargetLowering::splitKillBlock(), splitMBB(), toString(), trySequenceOfOnes(), and tryToElideArgumentCopy().
MachineInstr * MachineFunction::CreateMachineInstr | ( | const MCInstrDesc & | MCID, |
const DebugLoc & | DL, | ||
bool | NoImp = false |
||
) |
CreateMachineInstr - Allocate a new MachineInstr.
Allocate a new MachineInstr. Use this instead of `new MachineInstr'.
Use this instead of `new MachineInstr'.
Definition at line 319 of file MachineFunction.cpp.
Referenced by llvm::BuildMI(), llvm::HexagonPacketizerList::canPromoteToDotNew(), llvm::SystemZInstrInfo::convertToThreeAddress(), foldPatchpoint(), FuseInst(), FuseTwoAddrInst(), llvm::HexagonHazardRecognizer::getHazardType(), isImmValidForOpcode(), llvm::HexagonPacketizerList::tryAllocateResourcesForConstExt(), and llvm::X86InstrInfo::unfoldMemoryOperand().
MachineInstr::ExtraInfo * MachineFunction::createMIExtraInfo | ( | ArrayRef< MachineMemOperand *> | MMOs, |
MCSymbol * | PreInstrSymbol = nullptr , |
||
MCSymbol * | PostInstrSymbol = nullptr |
||
) |
Allocate and construct an extra info structure for a MachineInstr
.
This is allocated on the function's allocator and so lives the life of the function.
Definition at line 429 of file MachineFunction.cpp.
Referenced by llvm::MachineInstr::dropMemRefs(), llvm::MachineInstr::setMemRefs(), llvm::MachineInstr::setPostInstrSymbol(), and llvm::MachineInstr::setPreInstrSymbol().
|
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 756 of file MachineFunction.h.
References llvm::ArrayRecycler< T, Align >::deallocate(), and Name.
Referenced by llvm::MachineInstr::addOperand(), and DeleteMachineInstr().
void MachineFunction::DeleteMachineBasicBlock | ( | MachineBasicBlock * | MBB | ) |
DeleteMachineBasicBlock - Delete the given MachineBasicBlock.
Delete the given MachineBasicBlock.
Definition at line 380 of file MachineFunction.cpp.
References assert(), and llvm::MachineBasicBlock::getParent().
Referenced by llvm::MachineFunctionProperties::print().
void MachineFunction::DeleteMachineInstr | ( | MachineInstr * | MI | ) |
DeleteMachineInstr - Delete the given MachineInstr.
Delete the given MachineInstr.
This function also serves as the MachineInstr destructor - the real ~MachineInstr() destructor must be empty.
Definition at line 359 of file MachineFunction.cpp.
References deallocateOperandArray().
Referenced by allPhiOperandsUndefined(), llvm::HexagonPacketizerList::canPromoteToDotNew(), llvm::SwingSchedulerDAG::finishBlock(), llvm::HexagonHazardRecognizer::getHazardType(), insertDeleteInstructions(), removePhis(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), and llvm::HexagonPacketizerList::tryAllocateResourcesForConstExt().
LLVM_DUMP_METHOD void MachineFunction::dump | ( | ) | const |
dump - Print the current MachineFunction to cerr, useful for debugger use.
Definition at line 452 of file MachineFunction.cpp.
References llvm::dbgs(), and print().
Referenced by llvm::A57ChainingConstraint::apply(), checkRegOnlyPHIInputs(), and hasVulnerableLoad().
|
inline |
Definition at line 632 of file MachineFunction.h.
Referenced by addEpilogOnlyR10(), llvm::rdf::DataFlowGraph::build(), giveUpWithRemarks(), RenumberBlocks(), and verify().
|
inline |
Definition at line 623 of file MachineFunction.h.
Referenced by llvm::analyzeArguments(), BBHasFallthrough(), canFallThroughTo(), llvm::createR600ExpandSpecialInstrsPass(), llvm::createSIAddIMGInitPass(), llvm::createX86FixupLEAs(), llvm::createX86RetpolineThunksPass(), llvm::createXCoreFrameToArgsOffsetEliminationPass(), llvm::AVRTargetLowering::EmitInstrWithCustomInserter(), llvm::AVRFrameLowering::emitPrologue(), llvm::MSP430FrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), llvm::finalizeBundles(), findNextInsertLocation(), FixTail(), getLayoutSuccessorProbThreshold(), getNewValueJumpOpcode(), getNextBlock(), getReassignedChan(), llvm::guessSuccessors(), HandleVRSaveUpdate(), hasOneExitNode(), hasVulnerableLoad(), hoistAndMergeSGPRInits(), INITIALIZE_PASS(), insertCopy(), InsertLDR_STR(), llvm::SlotIndexes::insertMBBInMaps(), isCopy(), IsMovepDestinationRegPair(), isTerminalReg(), IsUnconditionalJump(), jumpTableFollowsTB(), matchPair(), matchSwap(), mergeOperations(), llvm::GraphTraits< MachineBlockFrequencyInfo * >::nodes_end(), llvm::GraphTraits< MachineFunction * >::nodes_end(), llvm::GraphTraits< const MachineFunction * >::nodes_end(), false::IntervalSorter::operator()(), printExtendedName(), readsVCCZ(), RemoveVRSaveCode(), RenumberBlocks(), llvm::PPCFrameLowering::replaceFPWithRealFP(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::UnreachableBlockElimPass::run(), llvm::InsertNOPLoad::runOnMachineFunction(), llvm::DetectRoundChange::runOnMachineFunction(), llvm::FixAllFDIVSQRT::runOnMachineFunction(), salvageDebugInfoFromEmptyBlock(), splitBlock(), llvm::MachineBasicBlock::SplitCriticalEdge(), llvm::TailDuplicator::tailDuplicateBlocks(), toString(), verify(), verifyCTRBranch(), verifyLeafProcRegUse(), VerifyPHIs(), and ~MachineFunction().
|
inline |
Definition at line 624 of file MachineFunction.h.
|
inline |
ensureAlignment - Make sure the function is at least 1 << A bytes aligned.
Definition at line 501 of file MachineFunction.h.
References A.
Referenced by doesNotGeneratecode(), and llvm::R600AsmPrinter::runOnMachineFunction().
|
inline |
Definition at line 655 of file MachineFunction.h.
References llvm::iplist_impl< IntrusiveListT, TraitsT >::erase().
Referenced by llvm::BranchFolder::BranchFolder(), llvm::createX86RetpolineThunksPass(), and llvm::MachineBasicBlock::eraseFromParent().
|
inline |
Definition at line 656 of file MachineFunction.h.
References llvm::iplist_impl< IntrusiveListT, TraitsT >::erase().
|
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 508 of file MachineFunction.h.
Referenced by llvm::CodeViewDebug::beginFunctionImpl(), computeWeight(), isEFLAGSLive(), false::IntervalSorter::operator()(), and llvm::MIRPrinter::print().
|
inline |
Definition at line 633 of file MachineFunction.h.
Referenced by addEpilogOnlyR10(), llvm::WinException::beginFunction(), llvm::SIInstrInfo::calculateLDSSpillAddress(), createBBSelectReg(), llvm::createSIWholeQuadModePass(), llvm::createX86PadShortFunctions(), llvm::createX86RetpolineThunksPass(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::HexagonDAGToDAGISel::EmitFunctionEntryCode(), emitGPDisp(), llvm::NVPTXFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::MSP430FrameLowering::emitPrologue(), llvm::RISCVFrameLowering::emitPrologue(), llvm::HexagonFrameLowering::emitPrologue(), llvm::LanaiFrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), enableAllocFrameElim(), findScratchNonCalleeSaveRegister(), llvm::getEHScopeMembership(), llvm::GraphTraits< MachineBlockFrequencyInfo * >::getEntryNode(), llvm::GraphTraits< MachineFunction * >::getEntryNode(), llvm::GraphTraits< const MachineFunction * >::getEntryNode(), getFPReg(), llvm::SparcInstrInfo::getGlobalBaseReg(), getLayoutSuccessorProbThreshold(), getMatchingEHPad(), llvm::X86InstrInfo::getSerializableDirectMachineOperandTargetFlags(), getTryAncestor(), giveUpWithRemarks(), INITIALIZE_PASS(), PrevCrossBBInst(), llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized(), llvm::X86FrameLowering::processFunctionBeforeFrameFinalized(), readsVCCZ(), llvm::PPCFrameLowering::replaceFPWithRealFP(), llvm::rdf::CopyPropagation::run(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::AVRDynAllocaSR::runOnMachineFunction(), llvm::SIRegisterInfo::spillSGPR(), updateLiveness(), and verify().
|
inline |
Definition at line 634 of file MachineFunction.h.
|
inline |
getAlignment - Return the alignment (log2, not bytes) of the function.
Definition at line 495 of file MachineFunction.h.
Referenced by llvm::WinException::beginFunclet(), llvm::AsmPrinter::EmitDebugValue(), llvm::MipsAsmPrinter::EmitFunctionEntryLabel(), INITIALIZE_PASS(), and llvm::MIRPrinter::print().
|
inline |
getBlockNumbered - MachineBasicBlocks are automatically numbered when they are inserted into the machine function.
The block number for a machine basic block can be found by using the MBB::getNumber method, this method provides the inverse mapping.
Definition at line 556 of file MachineFunction.h.
Referenced by llvm::LiveRangeCalc::calculateValues(), enableAllocFrameElim(), llvm::SplitAnalysis::getFirstSplitPoint(), llvm::SplitAnalysis::getLastSplitPoint(), llvm::LiveRangeCalc::isJointlyDominated(), and llvm::MachineTraceMetrics::Ensemble::verify().
Get the call site number for a begin label.
Definition at line 900 of file MachineFunction.h.
References assert(), and llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::lookup().
Referenced by llvm::EHStreamer::computeCallSiteTable().
|
inline |
Get the call site indexes for a landing pad EH symbol.
Definition at line 883 of file MachineFunction.h.
References assert().
Referenced by llvm::ARMTargetLowering::ReplaceNodeResults().
|
inline |
Definition at line 916 of file MachineFunction.h.
Referenced by llvm::CodeViewDebug::endFunctionImpl().
|
inline |
getConstantPool - Return the constant pool object for the current function.
Definition at line 479 of file MachineFunction.h.
References llvm::ISD::ConstantPool.
Referenced by addExclusiveRegPair(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), branchMaxOffsets(), canTurnIntoCOPY(), duplicateCPV(), llvm::WebAssemblyAsmPrinter::EmitConstantPool(), llvm::AsmPrinter::EmitConstantPool(), llvm::ARMAsmPrinter::EmitJumpTableTBInst(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), emitPostSt(), emitThumb1LoadConstPool(), emitThumb2LoadConstPool(), llvm::X86InstrInfo::foldMemoryOperandImpl(), getConstantFromPool(), llvm::AsmPrinter::GetCPISymbol(), llvm::MIRParserImpl::initializeMachineFunction(), llvm::XCoreInstrInfo::loadImmediate(), llvm::MIRPrinter::print(), llvm::ARMBaseInstrInfo::produceSameValue(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::ARMAsmPrinter::runOnMachineFunction(), and llvm::MipsAsmPrinter::runOnMachineFunction().
|
inline |
Definition at line 480 of file MachineFunction.h.
References llvm::ISD::ConstantPool.
|
inline |
Definition at line 425 of file MachineFunction.h.
Referenced by llvm::createX86RetpolineThunksPass(), llvm::MipsAsmPrinter::EmitFunctionBodyStart(), llvm::SystemZAsmPrinter::EmitInstruction(), llvm::PPCFunctionInfo::getGlobalEPSymbol(), llvm::PPCFunctionInfo::getLocalEPSymbol(), llvm::PPCFunctionInfo::getPICOffsetSymbol(), llvm::MachineBasicBlock::getSymbol(), llvm::PPCFunctionInfo::getTOCOffsetSymbol(), INITIALIZE_PASS(), initSlots2Values(), isEFLAGSLive(), llvm::SystemZAsmPrinter::PrintAsmOperand(), and llvm::X86AsmPrinter::runOnMachineFunction().
const DataLayout & MachineFunction::getDataLayout | ( | ) | const |
Return the DataLayout attached to the Module associated to this MF.
Definition at line 257 of file MachineFunction.cpp.
References llvm::Module::getDataLayout(), getOrCreateJumpTableInfo(), and llvm::GlobalValue::getParent().
Referenced by llvm::X86TargetLowering::BuildFILD(), llvm::ScheduleDAGInstrs::buildSchedGraph(), CallingConvSupported(), canLowerToLDG(), canTurnIntoCOPY(), llvm::CC_ARM_AAPCS_Custom_Aggregate(), CC_RISCV(), llvm::FunctionLoweringInfo::ComputePHILiveOutRegInfo(), createPHIsForCMOVsInSinkBB(), llvm::FunctionLoweringInfo::CreateRegs(), createSwiftErrorEntriesInEntryBlock(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::MipsAsmPrinter::EmitInstruction(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::TargetLoweringBase::emitPatchPoint(), emitPostSt(), EnsureStackAlignment(), llvm::InstructionSelector::executeMatchTable(), llvm::AsmPrinter::GetCPISymbol(), llvm::SelectionDAG::getDataLayout(), getDwarfRegNum(), llvm::PPCFunctionInfo::getGlobalEPSymbol(), getJTISymbol(), llvm::PPCFunctionInfo::getLocalEPSymbol(), llvm::FunctionLoweringInfo::getOrCreateSwiftErrorVReg(), llvm::FunctionLoweringInfo::getOrCreateSwiftErrorVRegDefAt(), getPICBaseSymbol(), llvm::PPCFunctionInfo::getPICOffsetSymbol(), getRetpolineSymbol(), llvm::MSP430TargetLowering::getReturnAddressFrameIndex(), llvm::AsmPrinter::GetSizeOfEncodedValue(), llvm::TargetInstrInfo::getStackSlotRange(), llvm::PPCFunctionInfo::getTOCOffsetSymbol(), getUnderlyingObjects(), llvm::MachinePointerInfo::getUnknownStack(), hasSingleUsesFromRoot(), llvm::PPCTargetLowering::isLegalAddressingMode(), isSupportedType(), llvm::ARMLegalizerInfo::legalizeCustom(), llvm::ARMCallLowering::lowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), lowerFCOPYSIGN64(), llvm::X86CallLowering::lowerFormalArguments(), llvm::ARMCallLowering::lowerFormalArguments(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_64(), LowerI64IntToFP_AVX512DQ(), llvm::BPFTargetLowering::LowerOperation(), llvm::RISCVTargetLowering::LowerOperation(), llvm::X86CallLowering::lowerReturn(), llvm::MipsCallLowering::lowerReturn(), MachineFunction(), llvm::X86TargetLowering::markLibCallAttributes(), Passv64i1ArgInRegs(), llvm::PPCTargetLowering::PerformDAGCombine(), PrepareCall(), llvm::AsmPrinter::PrintSpecial(), processDbgDeclares(), propagateSwiftErrorVRegs(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::FunctionLoweringInfo::set(), tryToElideArgumentCopy(), unpackF64OnRV32DSoftABI(), widenVec(), and llvm::X86CallLowering::X86CallLowering().
int MachineFunction::getFilterIDFor | ( | std::vector< unsigned > & | TyIds | ) |
Return the id of the filter encoded by TyIds. This is function wide.
Definition at line 777 of file MachineFunction.cpp.
Referenced by addFilterTypeInfo().
Return a reference to the typeids encoding filters used in the current function.
Definition at line 927 of file MachineFunction.h.
Referenced by llvm::EHStreamer::computeActionsTable(), llvm::EHStreamer::emitExceptionTable(), llvm::EHStreamer::emitTypeInfos(), and llvm::ARMException::endFunction().
|
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 463 of file MachineFunction.h.
Referenced by llvm::AArch64CallLowering::AArch64CallLowering(), addCalleeSavedRegs(), addExclusiveRegPair(), llvm::addFrameReference(), llvm::RegsForValue::AddInlineAsmOperands(), llvm::LiveRegUnits::addLiveOuts(), llvm::LivePhysRegs::addLiveOutsNoPristines(), llvm::PPCFrameLowering::addScavengingSpillSlot(), llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), AdjustStackOffset(), llvm::SIMachineFunctionInfo::allocateSGPRSpillToVGPR(), llvm::StatepointLoweringState::allocateStackSlot(), llvm::analyzeArguments(), AnalyzeReturnValues(), llvm::ARCFrameLowering::assignCalleeSavedSpillSlots(), llvm::X86FrameLowering::assignCalleeSavedSpillSlots(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(), assignCalleeSavedSpillSlots(), AssignProtectedObjSet(), llvm::VirtRegMap::assignVirt2Phys(), llvm::VirtRegMap::assignVirt2StackSlot(), llvm::CodeViewDebug::beginFunctionImpl(), llvm::X86TargetLowering::BuildFILD(), buildMUBUFOffsetLoadStore(), calculateSetFPREG(), CalculateTailCallArgDest(), CallingConvSupported(), llvm::AArch64RegisterInfo::cannotEliminateFrame(), llvm::ARMBaseRegisterInfo::cannotEliminateFrame(), llvm::X86RegisterInfo::canRealignStack(), llvm::ARMFrameLowering::canSimplifyCallFramePseudos(), llvm::Thumb1FrameLowering::canUseAsEpilogue(), llvm::AArch64FrameLowering::canUseRedZone(), CC_Lanai32_VarArg(), llvm::AArch64TargetLowering::CCAssignFnForReturn(), llvm::ARMTargetLowering::CCAssignFnForReturn(), computeCalleeSaveRegisterPairs(), llvm::MIRPrinter::convertStackObjects(), llvm::MipsFunctionInfo::createEhDataRegsFI(), llvm::XCoreFunctionInfo::createEHSpillSlot(), llvm::XCoreFunctionInfo::createFPSpillSlot(), llvm::MipsFunctionInfo::createISRRegFI(), llvm::createLibcall(), llvm::XCoreFunctionInfo::createLRSpillSlot(), llvm::SelectionDAG::CreateStackTemporary(), llvm::createXCoreFrameToArgsOffsetEliminationPass(), llvm::HexagonDAGToDAGISel::DetectUseSxtw(), llvm::SystemZFrameLowering::determineCalleeSaves(), llvm::RISCVFrameLowering::determineCalleeSaves(), llvm::ARCFrameLowering::determineCalleeSaves(), llvm::MipsSEFrameLowering::determineCalleeSaves(), llvm::XCoreFrameLowering::determineCalleeSaves(), llvm::LanaiFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineFrameLayout(), llvm::TargetOptions::DisableFramePointerElim(), llvm::BPFRegisterInfo::eliminateFrameIndex(), llvm::MSP430RegisterInfo::eliminateFrameIndex(), llvm::WebAssemblyRegisterInfo::eliminateFrameIndex(), llvm::LanaiRegisterInfo::eliminateFrameIndex(), llvm::AVRRegisterInfo::eliminateFrameIndex(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::ARCRegisterInfo::eliminateFrameIndex(), llvm::NVPTXRegisterInfo::eliminateFrameIndex(), llvm::ThumbRegisterInfo::eliminateFrameIndex(), llvm::MipsRegisterInfo::eliminateFrameIndex(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::X86RegisterInfo::eliminateFrameIndex(), llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Spills(), llvm::AArch64FrameLowering::emitCalleeSavedFrameMoves(), llvm::X86FrameLowering::emitCalleeSavedFrameMoves(), emitComments(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::AVRFrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::Mips16FrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::SparcFrameLowering::emitEpilogue(), llvm::RISCVFrameLowering::emitEpilogue(), llvm::MSP430FrameLowering::emitEpilogue(), llvm::XCoreFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::SIFrameLowering::emitEpilogue(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::ARCFrameLowering::emitEpilogue(), llvm::SystemZFrameLowering::emitEpilogue(), llvm::WebAssemblyFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::MipsAsmPrinter::emitFrameDirective(), llvm::HexagonDAGToDAGISel::EmitFunctionEntryCode(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::TargetLoweringBase::emitPatchPoint(), llvm::AVRFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::Mips16FrameLowering::emitPrologue(), llvm::NVPTXFrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::RISCVFrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::MSP430FrameLowering::emitPrologue(), llvm::SIFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::HexagonFrameLowering::emitPrologue(), llvm::LanaiFrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), llvm::WebAssemblyFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::AsmPrinter::emitStackSizeSection(), EmitTailCallStoreFPAndRetAddr(), EmitTailCallStoreRetAddr(), enableAllocFrameElim(), llvm::CCState::ensureMaxAlignment(), EnsureStackAlignment(), llvm::BaseIndexOffset::equalBaseIndex(), llvm::MipsFrameLowering::estimateStackSize(), llvm::SITargetLowering::finalizeLowering(), llvm::ARMTargetLowering::finalizeLowering(), findCalledFunction(), findUser(), fixupFuncForFI(), llvm::TargetInstrInfo::foldMemoryOperand(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::TargetInstrInfo::genAlternativeCodeSequence(), getAddressForMemoryInput(), llvm::HexagonFrameLowering::getAlignaInstr(), getDwarfRegNum(), llvm::HexagonTargetLowering::GetDynamicTLSAddr(), getFRAMEADDR(), getFrameIndexMMO(), getFrameIndexOperandNum(), llvm::R600FrameLowering::getFrameIndexReference(), llvm::NVPTXFrameLowering::getFrameIndexReference(), llvm::MipsSEFrameLowering::getFrameIndexReference(), llvm::RISCVFrameLowering::getFrameIndexReference(), llvm::SIFrameLowering::getFrameIndexReference(), llvm::SparcFrameLowering::getFrameIndexReference(), llvm::HexagonFrameLowering::getFrameIndexReference(), llvm::X86FrameLowering::getFrameIndexReference(), llvm::TargetFrameLowering::getFrameIndexReference(), llvm::AArch64FrameLowering::getFrameIndexReferencePreferSP(), llvm::X86FrameLowering::getFrameIndexReferencePreferSP(), llvm::X86FrameLowering::getFrameIndexReferenceSP(), llvm::R600InstrInfo::getIndirectIndexBegin(), llvm::R600InstrInfo::getIndirectIndexEnd(), llvm::ARMTargetLowering::getJumpTableEncoding(), getLoadStoreOffsetAlign(), getMemcpyLoadsAndStores(), getMemmoveLoadsAndStores(), llvm::MipsInstrInfo::GetMemOperand(), getMemsetStores(), llvm::RISCVMachineFunctionInfo::getMoveF64FrameIndex(), llvm::MipsFunctionInfo::getMoveF64ViaSpillFI(), getMOVL(), getNextIntArgReg(), getOpenCLAlignment(), llvm::AArch64InstrInfo::getOutliningType(), llvm::ARMBaseRegisterInfo::getRegPressureLimit(), llvm::MipsRegisterInfo::getReservedRegs(), getRetpolineSymbol(), llvm::MSP430TargetLowering::getReturnAddressFrameIndex(), llvm::X86TargetLowering::getReturnAddressFrameIndex(), GetTLSADDR(), llvm::MipsTargetLowering::getTypeForExtReturn(), getUnderlyingArgReg(), llvm::AArch64TargetLowering::getVaListSizeInBits(), getVectorCompareInfo(), llvm::AArch64FrameLowering::getWinEHFuncletFrameSize(), hasAnyNonFlatUseOfReg(), llvm::LanaiRegisterInfo::hasBasePointer(), llvm::AArch64RegisterInfo::hasBasePointer(), llvm::X86RegisterInfo::hasBasePointer(), llvm::ARMBaseRegisterInfo::hasBasePointer(), llvm::MipsFrameLowering::hasBP(), llvm::MipsFrameLowering::hasFP(), llvm::SparcFrameLowering::hasFP(), llvm::RISCVFrameLowering::hasFP(), llvm::SystemZFrameLowering::hasFP(), llvm::MSP430FrameLowering::hasFP(), llvm::WebAssemblyFrameLowering::hasFP(), llvm::XCoreFrameLowering::hasFP(), llvm::ARMFrameLowering::hasFP(), llvm::ARCFrameLowering::hasFP(), llvm::AArch64FrameLowering::hasFP(), llvm::SIFrameLowering::hasFP(), llvm::HexagonFrameLowering::hasFP(), llvm::PPCFrameLowering::hasFP(), llvm::X86FrameLowering::hasFP(), llvm::AVRFrameLowering::hasReservedCallFrame(), llvm::SparcFrameLowering::hasReservedCallFrame(), llvm::Thumb1FrameLowering::hasReservedCallFrame(), llvm::Mips16FrameLowering::hasReservedCallFrame(), llvm::MipsSEFrameLowering::hasReservedCallFrame(), llvm::RISCVFrameLowering::hasReservedCallFrame(), llvm::WebAssemblyFrameLowering::hasReservedCallFrame(), llvm::MSP430FrameLowering::hasReservedCallFrame(), llvm::ARMFrameLowering::hasReservedCallFrame(), llvm::AArch64FrameLowering::hasReservedCallFrame(), llvm::X86FrameLowering::hasReservedCallFrame(), llvm::SIFrameLowering::hasSP(), haveEfficientBuildVectorPattern(), INITIALIZE_PASS(), llvm::MIRParserImpl::initializeFrameInfo(), llvm::HexagonFrameLowering::insertCFIInstructions(), insertCSRRestores(), InsertLDR_STR(), llvm::Mips16RegisterInfo::intRegClass(), llvm::PPCRegisterInfo::isCallerPreservedPhysReg(), isConsecutiveLSLoc(), llvm::MachineInstr::isDereferenceableInvariantLoad(), isFuncletReturnInstr(), llvm::XCoreFunctionInfo::isLargeFrame(), llvm::ARCTargetLowering::isLegalAddressingMode(), llvm::PPCTargetLowering::isLegalAddressingMode(), llvm::SelectionDAGISel::isOrEquivalentToAdd(), isSortedByValueNo(), llvm::SystemZInstrInfo::isStackSlotCopy(), llvm::SITargetLowering::isTypeDesirableForOp(), llvm::MSP430InstrInfo::loadRegFromStackSlot(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::XCoreInstrInfo::loadRegFromStackSlot(), llvm::ARCInstrInfo::loadRegFromStackSlot(), llvm::AVRInstrInfo::loadRegFromStackSlot(), llvm::SparcInstrInfo::loadRegFromStackSlot(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::HexagonInstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::SIInstrInfo::loadRegFromStackSlot(), llvm::PPCInstrInfo::loadRegFromStackSlot(), llvm::AMDGPUTargetLowering::loadStackInputValue(), lookupCandidateBaseReg(), LoopIsOuterMostWithPredecessor(), LowerADDSUBCARRY(), LowerADJUST_TRAMPOLINE(), LowerAsSplatVectorLoad(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_32(), lowerCallResult(), LowerCallResult(), llvm::TargetLowering::LowerCallTo(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::PPCRegisterInfo::lowerDynamicAreaOffset(), llvm::SparcTargetLowering::LowerF128_LibCallArg(), llvm::SparcTargetLowering::LowerF128Op(), lowerFCOPYSIGN64(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), llvm::LanaiTargetLowering::LowerFRAMEADDR(), llvm::MSP430TargetLowering::LowerFRAMEADDR(), llvm::HexagonTargetLowering::LowerFRAMEADDR(), llvm::SparcTargetLowering::LowerGlobalTLSAddress(), LowerI64IntToFP_AVX512DQ(), LowerINTRINSIC_W_CHAIN(), llvm::RISCVTargetLowering::LowerOperation(), llvm::X86CallLowering::lowerReturn(), llvm::ARMCallLowering::lowerReturn(), llvm::LanaiTargetLowering::LowerRETURNADDR(), llvm::MSP430TargetLowering::LowerRETURNADDR(), llvm::HexagonTargetLowering::LowerRETURNADDR(), LowerRETURNADDR(), llvm::MipsTargetLowering::lowerSTORE(), llvm::TargetLowering::LowerToTLSEmulatedModel(), LowerToTLSExecModel(), lowerUINT_TO_FP_vec(), LowerVASTART(), LowerVectorINT_TO_FP(), llvm::SparcTargetLowering::makeAddress(), llvm::Mips16InstrInfo::makeFrame(), MatchingStackOffset(), matchPair(), llvm::MachineInstr::mayAlias(), mayTailCallThisCC(), llvm::AArch64Subtarget::mirFileLoaded(), llvm::HexagonFrameLowering::needsAligna(), llvm::PPCFrameLowering::needsFP(), llvm::AArch64RegisterInfo::needsFrameBaseReg(), llvm::ARMBaseRegisterInfo::needsFrameBaseReg(), llvm::X86FrameLowering::needsFrameIndexResolution(), llvm::TargetFrameLowering::needsFrameIndexResolution(), llvm::WebAssemblyFrameLowering::needsPrologForEH(), llvm::TargetRegisterInfo::needsStackRealignment(), false::IntervalSorter::operator()(), llvm::X86FrameLowering::orderFrameObjects(), PrepareCall(), llvm::MIRPrinter::print(), llvm::MIPrinter::print(), llvm::MachineInstr::print(), printMemOperand(), llvm::MipsAsmPrinter::printSavedRegsBitmask(), llvm::RISCVFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SystemZFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(), llvm::MSP430FrameLowering::processFunctionBeforeFrameFinalized(), llvm::XCoreFrameLowering::processFunctionBeforeFrameFinalized(), llvm::ARCFrameLowering::processFunctionBeforeFrameFinalized(), llvm::HexagonFrameLowering::processFunctionBeforeFrameFinalized(), llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized(), llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized(), llvm::X86FrameLowering::processFunctionBeforeFrameFinalized(), llvm::PPCFrameLowering::replaceFPWithRealFP(), llvm::ARMTargetLowering::ReplaceNodeResults(), replaceShuffleOfInsert(), llvm::SIRegisterInfo::requiresFrameIndexReplacementScavenging(), llvm::SIRegisterInfo::requiresFrameIndexScavenging(), llvm::SIRegisterInfo::requiresRegisterScavenging(), reservePrivateMemoryRegs(), llvm::AArch64FrameLowering::resolveFrameIndexReference(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), llvm::Mips16InstrInfo::restoreFrame(), llvm::SIRegisterInfo::restoreSGPR(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::AVRFrameAnalyzer::runOnMachineFunction(), llvm::AVRDynAllocaSR::runOnMachineFunction(), llvm::HexagonDAGToDAGISel::SelectAddrFI(), llvm::HexagonDAGToDAGISel::SelectFrameIndex(), llvm::FastISel::selectStackmap(), llvm::FunctionLoweringInfo::set(), llvm::AArch64InstrInfo::shouldClusterMemOps(), ShouldSignReturnAddress(), llvm::SIMachineFunctionInfo::SIMachineFunctionInfo(), llvm::Mips16FrameLowering::spillCalleeSavedRegisters(), llvm::MipsSEFrameLowering::spillCalleeSavedRegisters(), spillIncomingStatepointValue(), llvm::SIRegisterInfo::spillSGPR(), llvm::CriticalAntiDepBreaker::StartBlock(), llvm::AggressiveAntiDepBreaker::StartBlock(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::ARCInstrInfo::storeRegToStackSlot(), llvm::AVRInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::AArch64InstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), llvm::SIInstrInfo::storeRegToStackSlot(), llvm::PPCInstrInfo::storeRegToStackSlot(), llvm::X86InstrInfo::storeRegToStackSlot(), llvm::SystemZInstrInfo::SystemZInstrInfo(), tryToElideArgumentCopy(), unpackF64OnRV32DSoftABI(), UnpackFromArgumentSlot(), unpackFromMemLoc(), updateLiveness(), llvm::HexagonPacketizerList::useCalleesSP(), llvm::HexagonPacketizerList::useCallersSP(), verifyLeafProcRegUse(), llvm::SelectionDAGBuilder::visitSPDescriptorParent(), widenVec(), WindowsRequiresStackProbe(), windowsRequiresStackProbe(), and X86ChooseCmpImmediateOpcode().
|
inline |
Definition at line 464 of file MachineFunction.h.
|
inline |
Returns a reference to a list of cfi instructions in the function's prologue.
Used to construct frame maps for debug and exception handling comsumers.
Definition at line 791 of file MachineFunction.h.
Referenced by llvm::AsmPrinter::emitCFIInstruction().
Return the LLVM function that this machine code represents.
Definition at line 433 of file MachineFunction.h.
References F(), and getName().
Referenced by llvm::AArch64FunctionInfo::AArch64FunctionInfo(), addEpilogOnlyR10(), addExclusiveRegPair(), adjCycles(), llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::NVPTXTargetLowering::allowUnsafeFPMath(), llvm::AMDGPUMachineFunction::AMDGPUMachineFunction(), llvm::analyzeArguments(), llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(), AnalyzeReturnValues(), areCallingConvEligibleForTCO_64SVR4(), areCandidatesToMergeOrPair(), AssignProtectedObjSet(), llvm::DwarfCFIException::beginFragment(), llvm::WinException::beginFunclet(), llvm::DwarfCFIException::beginFunction(), llvm::WinException::beginFunction(), llvm::DebugHandlerBase::beginFunction(), llvm::BTFDebug::beginFunctionImpl(), llvm::CodeViewDebug::beginFunctionImpl(), llvm::DwarfDebug::beginFunctionImpl(), llvm::BTFDebug::beginInstruction(), llvm::DwarfDebug::beginInstruction(), llvm::MachineIRBuilder::buildConstant(), llvm::MachineIRBuilder::buildFConstant(), llvm::TargetLowering::BuildSDIVPow2(), llvm::SIInstrInfo::calculateLDSSpillAddress(), calculateSetFPREG(), callHasRegMask(), CallingConvSupported(), CanCombineFCOPYSIGN_EXTEND_ROUND(), canLowerToLDG(), llvm::AArch64TargetLowering::canMergeStoresTo(), llvm::X86TargetLowering::canMergeStoresTo(), canMoveInstsAcrossMemOp(), CanMovePastDMB(), llvm::TargetRegisterInfo::canRealignStack(), llvm::AArch64FrameLowering::canUseRedZone(), CC_Lanai32_VarArg(), CC_RISCV(), llvm::AArch64TargetLowering::CCAssignFnForReturn(), llvm::ARMTargetLowering::CCAssignFnForReturn(), changeFCMPPredToAArch64CC(), checkNumAlignedDPRCS2Regs(), llvm::rdf::DataFlowGraph::DefStack::clear_block(), CombineCVTAToLocal(), combineFMinNumFMaxNum(), combineMul(), combineOr(), combineStore(), llvm::X86InstrInfo::commuteInstructionImpl(), computeBranchTargetAndInversion(), computeCalleeSaveRegisterPairs(), ConvertDoubleToBytes(), ConvertImplicitDefToConstZero(), llvm::createHexagonHardwareLoops(), llvm::XCoreFunctionInfo::createLRSpillSlot(), createPHIsForCMOVsInSinkBB(), llvm::createRegUsageInfoCollector(), llvm::createSIWholeQuadModePass(), llvm::createSystemZLDCleanupPass(), llvm::createX86FixupBWInsts(), llvm::createX86FixupLEAs(), llvm::createX86GlobalBaseRegPass(), llvm::createX86IndirectBranchTrackingPass(), llvm::createX86OptimizeLEAs(), llvm::createX86PadShortFunctions(), llvm::SystemZFrameLowering::determineCalleeSaves(), llvm::RISCVFrameLowering::determineCalleeSaves(), llvm::XCoreFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineFrameLayout(), llvm::TargetOptions::DisableFramePointerElim(), doesNotGeneratecode(), duplicateCPV(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateFrameIndex(), emitBasicBlockLoopComments(), emitClzero(), llvm::AsmPrinter::EmitDebugValue(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::AVRFrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::XCoreFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::ARCFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::AMDGPUAsmPrinter::EmitFunctionBodyEnd(), llvm::WebAssemblyAsmPrinter::EmitFunctionBodyStart(), llvm::AMDGPUAsmPrinter::EmitFunctionBodyStart(), llvm::MipsAsmPrinter::EmitFunctionBodyStart(), llvm::AMDGPUAsmPrinter::EmitFunctionEntryLabel(), EmitGCCInlineAsmStr(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::AMDGPU::HSAMD::MetadataStreamerV3::emitKernel(), llvm::AMDGPU::HSAMD::MetadataStreamerV2::emitKernel(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), llvm::AArch64TargetLowering::EmitLoweredCatchRet(), emitNonHSAIntrinsicError(), emitPostSt(), llvm::AVRFrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), emitRemovedIntrinsicError(), llvm::AArch64RegisterInfo::emitReservedArgRegCallError(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::ARMSelectionDAGInfo::EmitTargetCodeForMemcpy(), EmitTest(), emitThumb1LoadConstPool(), emitThumb2LoadConstPool(), llvm::AsmPrinter::emitXRayTable(), enableAllocFrameElim(), llvm::HexagonFrameLowering::enableCalleeSaveSkip(), llvm::ARMFrameLowering::enableCalleeSaveSkip(), llvm::TargetFrameLowering::enableCalleeSaveSkip(), llvm::GCNSubtarget::enableIEEEBit(), llvm::X86FrameLowering::enableShrinkWrapping(), llvm::WinException::endFunclet(), llvm::ARMException::endFunction(), llvm::WinException::endFunction(), llvm::CodeViewDebug::endFunctionImpl(), llvm::DwarfDebug::endFunctionImpl(), EnsureStackAlignment(), eraseDeadBBsAndChildren(), errorUnsupported(), ExpandMOVImmSExti8(), ExpandPowI(), fail(), findCalledFunction(), findIncDecAfter(), llvm::LexicalScopes::findLexicalScope(), findSingleRegDef(), findUnwindDestinations(), findUser(), fixupGlobalSaddr(), foldFPToIntToFP(), llvm::X86InstrInfo::foldMemoryOperandImpl(), get64BitArgumentXMMs(), llvm::MSP430RegisterInfo::getCalleeSavedRegs(), llvm::RISCVRegisterInfo::getCalleeSavedRegs(), llvm::AVRRegisterInfo::getCalleeSavedRegs(), llvm::AArch64RegisterInfo::getCalleeSavedRegs(), llvm::MipsRegisterInfo::getCalleeSavedRegs(), llvm::SIRegisterInfo::getCalleeSavedRegs(), llvm::SystemZRegisterInfo::getCalleeSavedRegs(), llvm::PPCRegisterInfo::getCalleeSavedRegs(), llvm::X86RegisterInfo::getCalleeSavedRegs(), llvm::ARMBaseRegisterInfo::getCalleeSavedRegs(), llvm::AArch64RegisterInfo::getCalleeSavedRegsViaCopy(), llvm::PPCRegisterInfo::getCalleeSavedRegsViaCopy(), llvm::X86RegisterInfo::getCalleeSavedRegsViaCopy(), llvm::ARMBaseRegisterInfo::getCalleeSavedRegsViaCopy(), llvm::RISCVRegisterInfo::getCallPreservedMask(), llvm::AArch64RegisterInfo::getCallPreservedMask(), llvm::SystemZRegisterInfo::getCallPreservedMask(), llvm::X86RegisterInfo::getCallPreservedMask(), llvm::ARMBaseRegisterInfo::getCallPreservedMask(), llvm::SelectionDAG::getConstantPool(), getDivRemArgList(), getDPPOp(), llvm::getEHScopeMembership(), getElementByteSizeValue(), llvm::ARMTargetLowering::getExceptionSelectorRegister(), getFPReg(), llvm::X86RegisterInfo::getGPRsForTailCall(), llvm::AMDGPUTargetLowering::getImplicitParameterOffset(), getIRBlockFromSlot(), llvm::ARMTargetLowering::getJumpTableEncoding(), getLayoutSuccessorProbThreshold(), getLoadStackGuard(), llvm::GCNSubtarget::getMaxNumSGPRs(), llvm::GCNSubtarget::getMaxNumVGPRs(), llvm::X86TargetLowering::getMaxSupportedInterleaveFactor(), getMopState(), getMOVL(), getName(), getNewValueJumpOpcode(), llvm::AMDGPUSubtarget::getOccupancyWithLocalMemSize(), getOModValue(), getOpenCLAlignment(), llvm::ARMBaseInstrInfo::getOperandLatency(), llvm::ARMTargetLowering::getOptimalMemOpType(), llvm::AArch64TargetLowering::getOptimalMemOpType(), llvm::X86TargetLowering::getOptimalMemOpType(), llvm::PPCTargetLowering::getOptimalMemOpType(), llvm::AArch64InstrInfo::getOutliningCandidateInfo(), llvm::PPCTargetLowering::getPICJumpTableRelocBaseExpr(), getReassignedChan(), getRecipEstimateForFunc(), llvm::SIRegisterInfo::getRegPressureLimit(), llvm::MipsRegisterInfo::getReservedRegs(), llvm::AArch64RegisterInfo::getReservedRegs(), llvm::X86RegisterInfo::getReservedRegs(), getRsrcReg(), GetScratchRegister(), llvm::MipsCCState::getSpecialCallingConvForCallee(), llvm::TargetFrameLowering::getStackAlignmentSkew(), llvm::X86TargetLowering::getStackProbeSymbolName(), getStartOrEndSlot(), getSubOpcode(), getTag(), getUnderlyingArgReg(), getUnderlyingObjects(), getVariantKind(), giveUpWithRemarks(), llvm::CallLowering::handleAssignments(), handleNormalInst(), hasAnyNonFlatUseOfReg(), hasDebugInfo(), llvm::HexagonFrameLowering::hasFP(), HasNestArgument(), hasReturnsTwiceAttr(), llvm::ARMTargetLowering::hasStandaloneRem(), hasVulnerableLoad(), llvm::HexagonEvaluator::HexagonEvaluator(), llvm::SelectionDAG::init(), llvm::LexicalScopes::initialize(), INITIALIZE_PASS(), llvm::MIRParserImpl::initializeConstantPool(), llvm::MIRParserImpl::initializeFrameInfo(), initSlots2Values(), InsertBitToMaskVector(), llvm::AArch64TargetLowering::insertCopiesSplitCSR(), llvm::PPCTargetLowering::insertCopiesSplitCSR(), insertCopy(), insertCSRRestores(), insertDeleteInstructions(), InsertLDR_STR(), isCalleeLoad(), isCompareZero(), isEFLAGSLive(), llvm::HexagonTargetLowering::IsEligibleForTailCallOptimization(), llvm::SITargetLowering::isEligibleForTailCallOptimization(), isFpMulInstruction(), isFuncletReturnInstr(), llvm::AArch64InstrInfo::isFunctionSafeToOutlineFrom(), llvm::X86InstrInfo::isFunctionSafeToOutlineFrom(), isHardwareLoop(), llvm::X86TargetLowering::isIntDivCheap(), llvm::PPCTargetLowering::isLegalAddressingMode(), isLiveOut(), isMinSize(), isNopCopy(), isNoReturnDef(), isOptNone(), isOptSize(), llvm::ARMBaseInstrInfo::isProfitableToIfCvt(), llvm::ARMTargetLowering::isReadOnly(), llvm::PPCInstrInfo::isSignOrZeroExtended(), isSortedByValueNo(), isSupportedType(), isTargetConstant(), IsUnconditionalJump(), isVirtualRegisterOperand(), llvm::ARMLegalizerInfo::legalizeCustom(), llvm::SIInstrInfo::legalizeOperands(), llvm::LegalizerHelper::libcall(), llvm::SIMachineFunctionInfo::limitOccupancy(), llvm::XCoreInstrInfo::loadImmediate(), llvm::MipsSEInstrInfo::loadRegFromStack(), LoopIsOuterMostWithPredecessor(), llvm::LegalizerHelper::lower(), LowerADDSUBCARRY(), LowerAndToBT(), lowerBuildVectorAsBroadcast(), llvm::X86CallLowering::lowerCall(), llvm::AArch64CallLowering::lowerCall(), llvm::MipsCallLowering::lowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::SITargetLowering::LowerCall(), llvm::AsmPrinter::lowerConstant(), llvm::AMDGPUTargetLowering::LowerDYNAMIC_STACKALLOC(), LowerEXTRACT_SUBVECTOR(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::NVPTXTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), LowerFPOWI(), LowerFPToInt(), LowerFunnelShift(), llvm::AMDGPUTargetLowering::LowerGlobalAddress(), LowerInterruptReturn(), llvm::BPFTargetLowering::LowerOperation(), llvm::X86CallLowering::lowerReturn(), llvm::AMDGPUCallLowering::lowerReturn(), llvm::AArch64CallLowering::lowerReturn(), llvm::MipsCallLowering::lowerReturn(), llvm::NVPTXTargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), llvm::AMDGPUTargetLowering::lowerUnhandledCall(), LowerVACOPY(), LowerVASTART(), llvm::SparcTargetLowering::makeAddress(), llvm::X86TargetLowering::markLibCallAttributes(), MatchingStackOffset(), matchPair(), matchSwap(), mayTailCallThisCC(), mayUseP9Setb(), memOpsHaveSameBasePtr(), moveInstrOut(), llvm::LegalizerHelper::narrowScalar(), needFuncLabelsForEHOrDebugInfo(), llvm::AsmPrinter::needsCFIMoves(), llvm::PPCFrameLowering::needsFP(), llvm::XCoreRegisterInfo::needsFrameMoves(), llvm::ARCRegisterInfo::needsFrameMoves(), llvm::WebAssemblyFrameLowering::needsPrologForEH(), llvm::AsmPrinter::needsSEHMoves(), llvm::TargetRegisterInfo::needsStackRealignment(), needsWinCFI(), normalizePBQPSpillWeight(), false::IntervalSorter::operator()(), optimizeVcndVcmpPair(), llvm::OptLevelChanger::OptLevelChanger(), parseCond(), parseTexFail(), Passv64i1ArgInRegs(), performBRCONDCombine(), performXorCombine(), PrepareCall(), llvm::MIRPrinter::print(), llvm::MIPrinter::print(), print(), llvm::MachineBasicBlock::print(), llvm::MachineInstr::print(), printMemOperand(), llvm::X86FrameLowering::processFunctionBeforeFrameFinalized(), produceCompactUnwindFrame(), ProfitableToMerge(), promoteToConstantPool(), llvm::AsmPrinter::recordSled(), reduceVMULWidth(), removeDebugValues(), removeRedundantBlockingStores(), llvm::ARMTargetLowering::ReplaceNodeResults(), replaceShuffleOfInsert(), reportIllegalCopy(), reservePrivateMemoryRegs(), llvm::MipsTargetMachine::resetSubtarget(), llvm::AArch64FrameLowering::resolveFrameIndexReference(), llvm::X86FrameLowering::restoreCalleeSavedRegisters(), llvm::Legalizer::runOnMachineFunction(), llvm::BreakFalseDeps::runOnMachineFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::ReachingDefAnalysis::runOnMachineFunction(), llvm::ARMAsmPrinter::runOnMachineFunction(), llvm::AMDGPUAsmPrinter::runOnMachineFunction(), llvm::ExecutionDomainFix::runOnMachineFunction(), llvm::X86AsmPrinter::runOnMachineFunction(), llvm::MachineOptimizationRemarkEmitterPass::runOnMachineFunction(), llvm::NVPTXAsmPrinter::runOnMachineFunction(), llvm::RegBankSelect::runOnMachineFunction(), salvageDebugInfoFromEmptyBlock(), scaleCaseProbality(), llvm::AsmPrinter::SetupMachineFunction(), shouldLowerMemFuncForSize(), llvm::AArch64InstrInfo::shouldOutlineFromFunctionByDefault(), shouldPreventUndefRegUpdateMemFold(), ShouldSignReturnAddress(), ShouldSignWithAKey(), shouldSplitStack(), llvm::TailDuplicator::shouldTailDuplicate(), shouldUseHorizontalOp(), ShrinkLoadReplaceStoreWithStore(), llvm::SIMachineFunctionInfo::SIMachineFunctionInfo(), simplifyDivRem(), llvm::SystemZFrameLowering::spillCalleeSavedRegisters(), llvm::MipsSEFrameLowering::spillCalleeSavedRegisters(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::X86FrameLowering::spillCalleeSavedRegisters(), splitStores(), llvm::MipsSEInstrInfo::storeRegToStack(), false::Chain::str(), llvm::AArch64TargetLowering::supportSplitCSR(), llvm::PPCTargetLowering::supportSplitCSR(), tieOpsIfNeeded(), toString(), llvm::tryFoldSPUpdateIntoPushPop(), unpackF64OnRV32DSoftABI(), UnpackFromArgumentSlot(), UpdateCPSRUse(), usedAsAddr(), llvm::NVPTXTargetLowering::useF32FTZ(), llvm::ARMSubtarget::useMovt(), llvm::R600InstrInfo::usesTextureCache(), llvm::ARMSubtarget::useStride4VFPs(), llvm::R600InstrInfo::usesVertexCache(), VerifyLowRegs(), VisitGlobalVariableForEmission(), llvm::SelectionDAGBuilder::visitSPDescriptorParent(), WarnSize(), llvm::LegalizerHelper::widenScalar(), WindowsRequiresStackProbe(), windowsRequiresStackProbe(), and llvm::OptLevelChanger::~OptLevelChanger().
|
inline |
getFunctionNumber - Return a unique ID for the current function.
Definition at line 439 of file MachineFunction.h.
References FunctionNumber().
Referenced by CallingConvSupported(), llvm::NVPTXFrameLowering::emitPrologue(), llvm::AsmPrinter::getFunctionNumber(), llvm::PPCFunctionInfo::getGlobalEPSymbol(), getJTISymbol(), llvm::PPCFunctionInfo::getLocalEPSymbol(), getPICBaseSymbol(), llvm::PPCFunctionInfo::getPICOffsetSymbol(), llvm::MachineBasicBlock::getSymbol(), llvm::PPCFunctionInfo::getTOCOffsetSymbol(), LowerWRITE_REGISTER(), and recoverFramePointer().
|
inline |
getInfo - Keep track of various per-function pieces of information for backends that would like to do so.
Definition at line 541 of file MachineFunction.h.
References Allocator.
Referenced by addExclusiveRegPair(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::analyzeArguments(), AnalyzeReturnValues(), llvm::X86FrameLowering::assignCalleeSavedSpillSlots(), llvm::SIInstrInfo::calculateLDSSpillAddress(), CalculateTailCallSPDiff(), CallingConvSupported(), llvm::X86InstrInfo::canMakeTailCallConditional(), llvm::AArch64FrameLowering::canUseRedZone(), CC_Lanai32_VarArg(), llvm::AArch64TargetLowering::CCAssignFnForReturn(), llvm::ARMTargetLowering::CCAssignFnForReturn(), changeFCMPPredToAArch64CC(), checkNumAlignedDPRCS2Regs(), llvm::WebAssemblyInstrInfo::commuteInstructionImpl(), llvm::computeBlockSize(), computeCalleeSaveRegisterPairs(), computeWeight(), llvm::createSystemZLDCleanupPass(), llvm::createX86GlobalBaseRegPass(), llvm::SystemZFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSaves(), llvm::SparcFrameLowering::determineCalleeSaves(), llvm::MipsSEFrameLowering::determineCalleeSaves(), llvm::XCoreFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::AMDGPUAsmPrinter::doFinalization(), duplicateCPV(), llvm::SIFrameLowering::eliminateCallFramePseudoInstr(), llvm::ARCFrameLowering::eliminateCallFramePseudoInstr(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::ThumbRegisterInfo::eliminateFrameIndex(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::AVRFrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::SparcFrameLowering::emitEpilogue(), llvm::MSP430FrameLowering::emitEpilogue(), llvm::RISCVFrameLowering::emitEpilogue(), llvm::XCoreFrameLowering::emitEpilogue(), llvm::SIFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::ARCFrameLowering::emitEpilogue(), llvm::SystemZFrameLowering::emitEpilogue(), llvm::WebAssemblyFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::AMDGPUAsmPrinter::EmitFunctionBodyEnd(), llvm::AMDGPUAsmPrinter::EmitFunctionBodyStart(), llvm::X86AsmPrinter::EmitFunctionBodyStart(), llvm::HexagonDAGToDAGISel::EmitFunctionEntryCode(), llvm::AMDGPUAsmPrinter::EmitFunctionEntryLabel(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::ARMAsmPrinter::EmitJumpTableTBInst(), llvm::AVRFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::MSP430FrameLowering::emitPrologue(), llvm::RISCVFrameLowering::emitPrologue(), llvm::SIFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), llvm::WebAssemblyFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::PPCFrameLowering::enableShrinkWrapping(), llvm::AArch64FrameLowering::enableStackSlotScavenging(), EnsureStackAlignment(), estimateRSStackSizeLimit(), ExpandMOVImmSExti8(), llvm::SITargetLowering::finalizeLowering(), findStartOfTree(), findTemporariesForLR(), findUser(), fixupFuncForFI(), llvm::HexagonFrameLowering::getAlignaInstr(), getAllSGPRs(), llvm::HexagonRegisterInfo::getCalleeSavedRegs(), llvm::AArch64RegisterInfo::getCalleeSavedRegs(), llvm::PPCRegisterInfo::getCalleeSavedRegs(), llvm::X86RegisterInfo::getCalleeSavedRegs(), llvm::ARMBaseRegisterInfo::getCalleeSavedRegs(), llvm::AArch64RegisterInfo::getCalleeSavedRegsViaCopy(), llvm::PPCRegisterInfo::getCalleeSavedRegsViaCopy(), llvm::X86RegisterInfo::getCalleeSavedRegsViaCopy(), llvm::ARMBaseRegisterInfo::getCalleeSavedRegsViaCopy(), getConstant(), GetDepth(), getElementByteSizeValue(), llvm::ARMTargetLowering::getExceptionSelectorRegister(), getFPTernOp(), llvm::RISCVFrameLowering::getFrameIndexReference(), llvm::SparcFrameLowering::getFrameIndexReference(), llvm::HexagonFrameLowering::getFrameIndexReference(), llvm::X86FrameLowering::getFrameIndexReference(), llvm::X86FrameLowering::getFrameIndexReferencePreferSP(), llvm::SIRegisterInfo::getFrameRegister(), llvm::MipsDAGToDAGISel::getGlobalBaseReg(), llvm::SparcInstrInfo::getGlobalBaseReg(), llvm::X86InstrInfo::getGlobalBaseReg(), llvm::MipsTargetLowering::getGlobalReg(), llvm::AMDGPUTargetLowering::getImplicitParameterOffset(), llvm::ARMBaseInstrInfo::getInstSizeInBytes(), llvm::ARMTargetLowering::getJumpTableEncoding(), getLoadExtOrTrunc(), llvm::PPCInstrInfo::getLoadOpcodeForSpill(), getLoadStoreOffsetAlign(), llvm::GCNSubtarget::getMaxNumSGPRs(), llvm::GCNSubtarget::getMaxNumVGPRs(), getMopState(), getMOVL(), llvm::AMDGPUSubtarget::getOccupancyWithLocalMemSize(), getOModValue(), llvm::AArch64InstrInfo::getOutliningType(), llvm::R600AsmPrinter::getPassName(), llvm::SIRegisterInfo::getRegPressureLimit(), llvm::GCNSubtarget::getReservedNumSGPRs(), llvm::MipsRegisterInfo::getReservedRegs(), llvm::SIRegisterInfo::getReservedRegs(), llvm::PPCRegisterInfo::getReservedRegs(), getRetpolineSymbol(), llvm::MSP430TargetLowering::getReturnAddressFrameIndex(), llvm::X86TargetLowering::getReturnAddressFrameIndex(), getRsrcReg(), llvm::X86InstrInfo::getSerializableDirectMachineOperandTargetFlags(), getSubOpcode(), llvm::SITargetLowering::getTgtMemIntrinsic(), llvm::MipsTargetLowering::getTypeForExtReturn(), llvm::AArch64FrameLowering::getWinEHFuncletFrameSize(), llvm::X86FrameLowering::getWinEHParentFrameOffset(), handleNormalInst(), hasAnyNonFlatUseOfReg(), llvm::ARMBaseRegisterInfo::hasBasePointer(), llvm::AVRFrameLowering::hasFP(), llvm::SystemZFrameLowering::hasFP(), llvm::HexagonFrameLowering::hasFP(), llvm::X86FrameLowering::hasFP(), hasNonRISpills(), llvm::X86FrameLowering::hasReservedCallFrame(), llvm::PPCRegisterInfo::hasReservedSpillSlot(), hasSpills(), INITIALIZE_PASS(), llvm::AArch64TargetLowering::initializeSplitCSR(), llvm::PPCTargetLowering::initializeSplitCSR(), llvm::X86FrameLowering::inlineStackProbe(), llvm::ARMBaseInstrInfo::insertBranch(), InsertLDR_STR(), llvm::intCCToAVRCC(), isCopy(), llvm::SITargetLowering::isEligibleForTailCallOptimization(), isFuncletReturnInstr(), llvm::AArch64InstrInfo::isFunctionSafeToOutlineFrom(), llvm::X86InstrInfo::isFunctionSafeToOutlineFrom(), llvm::X86TargetLowering::isIntDivCheap(), llvm::PPCTargetLowering::isLegalAddressingMode(), llvm::ARMBaseInstrInfo::isPredicable(), llvm::ARMTargetLowering::isReadOnly(), llvm::PPCInstrInfo::isSignOrZeroExtended(), isSortedByValueNo(), isStackPtrRelative(), llvm::SITargetLowering::isTypeDesirableForOp(), llvm::SIInstrInfo::loadRegFromStackSlot(), llvm::PPCInstrInfo::loadRegFromStackSlot(), llvm::WebAssemblyMCInstLower::Lower(), llvm::LowerARMMachineInstrToMCInst(), llvm::SITargetLowering::LowerCall(), lowerCallResult(), LowerCallResult(), llvm::HexagonTargetLowering::LowerEH_RETURN(), lowerFCOPYSIGN64(), llvm::AMDGPUCallLowering::lowerFormalArguments(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), llvm::SparcTargetLowering::LowerFormalArguments_64(), llvm::HexagonTargetLowering::LowerINLINEASM(), LowerInterruptReturn(), LowerINTRINSIC_W_CHAIN(), llvm::R600TargetLowering::LowerOperation(), llvm::RISCVTargetLowering::LowerOperation(), llvm::SITargetLowering::LowerOperation(), llvm::AMDGPUCallLowering::lowerReturn(), llvm::SITargetLowering::LowerReturn(), llvm::SparcTargetLowering::LowerReturn_32(), LowerToTLSLocalDynamicModel(), llvm::LanaiTargetLowering::LowerVASTART(), llvm::MSP430TargetLowering::LowerVASTART(), llvm::HexagonTargetLowering::LowerVASTART(), LowerVASTART(), LowerWRITE_REGISTER(), MatchingStackOffset(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), mayTailCallThisCC(), MoveAndTeeForMultiUse(), MustSaveLR(), llvm::PPCFrameLowering::needsFP(), llvm::ARMBaseRegisterInfo::needsFrameBaseReg(), llvm::X86FrameLowering::needsFrameIndexResolution(), parseTexFail(), Passv64i1ArgInRegs(), PrepareCall(), llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(), llvm::XCoreFrameLowering::processFunctionBeforeFrameFinalized(), llvm::HexagonFrameLowering::processFunctionBeforeFrameFinalized(), llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized(), promoteToConstantPool(), readsVCCZ(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::Thumb2InstrInfo::ReplaceTailWithBranchTo(), llvm::SIRegisterInfo::requiresFrameIndexReplacementScavenging(), llvm::SIRegisterInfo::requiresFrameIndexScavenging(), llvm::SIRegisterInfo::requiresRegisterScavenging(), llvm::SIRegisterInfo::resolveFrameIndex(), llvm::ARMBaseRegisterInfo::resolveFrameIndex(), llvm::AArch64FrameLowering::resolveFrameIndexReference(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), llvm::SystemZFrameLowering::restoreCalleeSavedRegisters(), llvm::ARMFrameLowering::restoreCalleeSavedRegisters(), llvm::SIRegisterInfo::restoreSGPR(), llvm::R600AsmPrinter::runOnMachineFunction(), llvm::WebAssemblyAsmPrinter::runOnMachineFunction(), llvm::ARMAsmPrinter::runOnMachineFunction(), llvm::AMDGPUAsmPrinter::runOnMachineFunction(), llvm::MipsAsmPrinter::runOnMachineFunction(), llvm::AVRFrameAnalyzer::runOnMachineFunction(), llvm::GCNIterativeScheduler::scheduleILP(), llvm::GCNIterativeScheduler::scheduleLegacyMaxOccupancy(), llvm::GCNIterativeScheduler::scheduleMinReg(), llvm::HexagonDAGToDAGISel::SelectFrameIndex(), setUsesTOCBasePtr(), llvm::AVRFrameLowering::spillCalleeSavedRegisters(), llvm::SystemZFrameLowering::spillCalleeSavedRegisters(), llvm::XCoreFrameLowering::spillCalleeSavedRegisters(), llvm::ARMFrameLowering::spillCalleeSavedRegisters(), llvm::MSP430FrameLowering::spillCalleeSavedRegisters(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), spillsCR(), llvm::SIRegisterInfo::spillSGPR(), spillsVRSAVE(), llvm::AVRInstrInfo::storeRegToStackSlot(), llvm::SIInstrInfo::storeRegToStackSlot(), llvm::PPCInstrInfo::storeRegToStackSlot(), llvm::SITargetLowering::supportSplitCSR(), llvm::GCNIterativeScheduler::tryMaximizeOccupancy(), unpackF64OnRV32DSoftABI(), UnpackFromArgumentSlot(), VisitGlobalVariableForEmission(), and windowsRequiresStackProbe().
|
inline |
Definition at line 548 of file MachineFunction.h.
|
inline |
Return the number of MachineInstrs
in this MachineFunction
.
Definition at line 664 of file MachineFunction.h.
References InstrCount.
Referenced by INITIALIZE_PASS().
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 587 of file MachineFunction.cpp.
References assert(), getDataLayout(), getFunctionNumber(), llvm::DataLayout::getLinkerPrivateGlobalPrefix(), llvm::MCContext::getOrCreateSymbol(), llvm::DataLayout::getPrivateGlobalPrefix(), Name, llvm::cl::Prefix, and size().
Referenced by llvm::AsmPrinter::GetJTISymbol(), and llvm::TargetLowering::getPICJumpTableRelocBaseExpr().
|
inline |
getJumpTableInfo - Return the jump table info object for the current function.
This object contains information about jump tables in the current function. If the current function has no jump tables, this will return null.
Definition at line 470 of file MachineFunction.h.
Referenced by CallingConvSupported(), llvm::MipsAsmPrinter::EmitDebugValue(), llvm::ARMAsmPrinter::EmitJumpTableAddrs(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::ARMAsmPrinter::EmitJumpTableInsts(), llvm::ARMAsmPrinter::EmitJumpTableTBInst(), llvm::XCoreTargetLowering::getJumpTableEncoding(), INITIALIZE_PASS(), llvm::MIRPrinter::print(), and salvageDebugInfoFromEmptyBlock().
|
inline |
Definition at line 471 of file MachineFunction.h.
|
inline |
Return a reference to the landing pad info for the current function.
Definition at line 826 of file MachineFunction.h.
References llvm::Filter.
Referenced by llvm::DwarfCFIException::beginFunction(), llvm::WinException::beginFunction(), llvm::SystemZFrameLowering::determineCalleeSaves(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::EHStreamer::emitExceptionTable(), llvm::WasmException::endFunction(), llvm::ARMException::endFunction(), INITIALIZE_PASS(), llvm::WasmException::markFunctionEnd(), llvm::DwarfCFIExceptionBase::markFunctionEnd(), and needFuncLabelsForEHOrDebugInfo().
MachineMemOperand * MachineFunction::getMachineMemOperand | ( | MachinePointerInfo | PtrInfo, |
MachineMemOperand::Flags | f, | ||
uint64_t | s, | ||
unsigned | 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 386 of file MachineFunction.cpp.
Referenced by llvm::AArch64CallLowering::AArch64CallLowering(), llvm::addFrameReference(), llvm::X86TargetLowering::BuildFILD(), buildMUBUFOffsetLoadStore(), canTurnIntoCOPY(), ConvertSelectToConcatVector(), llvm::FastISel::createMachineMemOperandFor(), emitClzero(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::TargetLoweringBase::emitPatchPoint(), enableAllocFrameElim(), expandLoadStackGuard(), extractLoadMMOs(), extractStoreMMOs(), findPotentialBlockers(), llvm::TargetInstrInfo::foldMemoryOperand(), llvm::SelectionDAG::getAtomic(), llvm::SelectionDAG::getAtomicCmpSwap(), getContiguousRangeOfSetBits(), getFrameIndexMMO(), llvm::SelectionDAG::getLoad(), llvm::SelectionDAG::getMemIntrinsicNode(), llvm::MipsInstrInfo::GetMemOperand(), llvm::SelectionDAG::getStore(), llvm::SelectionDAG::getTruncStore(), llvm::ARMInstrInfo::getUnindexedOpcode(), isSupportedType(), llvm::AArch64LegalizerInfo::legalizeCustom(), llvm::MSP430InstrInfo::loadRegFromStackSlot(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::XCoreInstrInfo::loadRegFromStackSlot(), llvm::ARCInstrInfo::loadRegFromStackSlot(), llvm::AVRInstrInfo::loadRegFromStackSlot(), llvm::SparcInstrInfo::loadRegFromStackSlot(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::HexagonInstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::SIInstrInfo::loadRegFromStackSlot(), llvm::PPCInstrInfo::loadRegFromStackSlot(), LowerADJUST_TRAMPOLINE(), llvm::X86CallLowering::lowerReturn(), llvm::ARMCallLowering::lowerReturn(), llvm::AMDGPUCallLowering::lowerReturn(), lowerUINT_TO_FP_vec(), llvm::HexagonTargetLowering::LowerUnalignedLoad(), lowerVectorShuffleAsBroadcast(), narrowExtractedVectorLoad(), llvm::LegalizerHelper::narrowScalar(), parseTexFail(), llvm::PPCTargetLowering::PerformDAGCombine(), PrepareCall(), removePhis(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), llvm::SIRegisterInfo::restoreSGPR(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::SIRegisterInfo::spillSGPR(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::ARCInstrInfo::storeRegToStackSlot(), llvm::AVRInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::AArch64InstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), llvm::SIInstrInfo::storeRegToStackSlot(), llvm::PPCInstrInfo::storeRegToStackSlot(), widenVec(), and llvm::X86CallLowering::X86CallLowering().
MachineMemOperand * MachineFunction::getMachineMemOperand | ( | const MachineMemOperand * | MMO, |
int64_t | Offset, | ||
uint64_t | Size | ||
) |
getMachineMemOperand - Allocate a new MachineMemOperand by copying an existing one, adjusting by an offset and using the given size.
MachineMemOperands are owned by the MachineFunction and need not be explicitly deallocated.
Definition at line 397 of file MachineFunction.cpp.
References llvm::MachineMemOperand::getBaseAlignment(), llvm::MachineMemOperand::getFailureOrdering(), llvm::MachineMemOperand::getFlags(), llvm::MachineMemOperand::getOffset(), llvm::MachineMemOperand::getOrdering(), llvm::MachineMemOperand::getPseudoValue(), llvm::MachineMemOperand::getSyncScopeID(), llvm::MachineMemOperand::getValue(), and Size.
MachineMemOperand * MachineFunction::getMachineMemOperand | ( | const MachineMemOperand * | MMO, |
const AAMDNodes & | AAInfo | ||
) |
Allocate a new MachineMemOperand by copying an existing one, replacing only AliasAnalysis information.
MachineMemOperands are owned by the MachineFunction and need not be explicitly deallocated.
Definition at line 415 of file MachineFunction.cpp.
References llvm::MachineMemOperand::getBaseAlignment(), llvm::MachineMemOperand::getFailureOrdering(), llvm::MachineMemOperand::getFlags(), llvm::MachineMemOperand::getOffset(), llvm::MachineMemOperand::getOrdering(), llvm::MachineMemOperand::getPseudoValue(), llvm::MachineMemOperand::getRanges(), llvm::MachineMemOperand::getSize(), llvm::MachineMemOperand::getSyncScopeID(), and llvm::MachineMemOperand::getValue().
|
inline |
Definition at line 424 of file MachineFunction.h.
Referenced by addLandingPad(), llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::AMDGPUMachineFunction::AMDGPUMachineFunction(), AssignProtectedObjSet(), llvm::DwarfCFIException::beginFunction(), CallingConvSupported(), llvm::createSIDebuggerInsertNopsPass(), llvm::createX86IndirectBranchTrackingPass(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::X86FrameLowering::emitCalleeSavedFrameMoves(), llvm::X86FrameLowering::emitEpilogue(), llvm::MachineInstr::emitError(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::Mips16FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::X86TargetLowering::expandIndirectJTBranch(), ExpandMOVImmSExti8(), getMemCmpLoad(), getMOVL(), llvm::AArch64InstrInfo::getOutliningType(), getRetpolineSymbol(), getUnderlyingArgReg(), llvm::TailDuplicator::initMF(), llvm::HexagonFrameLowering::insertCFIInstructions(), llvm::SelectionDAGBuilder::lowerInvokable(), llvm::XCoreRegisterInfo::needsFrameMoves(), llvm::ARCRegisterInfo::needsFrameMoves(), recoverFramePointer(), and llvm::X86AsmPrinter::runOnMachineFunction().
StringRef MachineFunction::getName | ( | ) | const |
getName - Return the name of the corresponding LLVM function.
Definition at line 457 of file MachineFunction.cpp.
References getFunction(), and llvm::Value::getName().
Referenced by adjCycles(), AppendEndToFunction(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), llvm::MachineBlockFrequencyInfo::calculate(), llvm::calculateSpillWeightsAndHints(), llvm::Combiner::combineMachineInstrs(), computeWeight(), llvm::createRegUsageInfoCollector(), llvm::createSIFixWWMLivenessPass(), llvm::createX86RetpolineThunksPass(), llvm::ARCFrameLowering::determineCalleeSaves(), llvm::ARCFrameLowering::eliminateCallFramePseudoInstr(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::ARCRegisterInfo::eliminateFrameIndex(), llvm::MipsRegisterInfo::eliminateFrameIndex(), llvm::ARCFrameLowering::emitEpilogue(), llvm::AMDGPUAsmPrinter::EmitFunctionEntryLabel(), llvm::SparcFrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), eraseDeadBBsAndChildren(), llvm::GCNScheduleDAGMILive::finalizeSchedule(), findCalledFunction(), findStartOfTree(), getCmpForPseudo(), llvm::MachineBasicBlock::getFullName(), llvm::DOTGraphTraits< ScheduleDAG * >::getGraphName(), llvm::DOTGraphTraits< SelectionDAG * >::getGraphName(), llvm::DOTGraphTraits< const MachineFunction * >::getGraphName(), llvm::DOTGraphTraits< ScheduleDAGMI * >::getGraphName(), getNewValueJumpOpcode(), getStartOrEndSlot(), getUnderlyingArgReg(), giveUpWithRemarks(), handleNormalInst(), HasArgumentDef(), hasVulnerableLoad(), INITIALIZE_PASS(), insertDeleteInstructions(), llvm::AArch64InstrInfo::insertOutlinedCall(), llvm::X86InstrInfo::insertOutlinedCall(), isImmValidForOpcode(), llvm::SelectionDAGISel::isOrEquivalentToAdd(), IsPseudoCallIndirect(), isTerminalReg(), isVirtualRegisterOperand(), LoopIsOuterMostWithPredecessor(), LowerDYNAMIC_STACKALLOC(), MoveAndTeeForMultiUse(), normalizePBQPSpillWeight(), false::IntervalSorter::operator()(), optimizeCall(), parseCond(), PrepareCall(), llvm::MIRPrinter::print(), print(), llvm::ARCFrameLowering::processFunctionBeforeFrameFinalized(), replaceShuffleOfInsert(), reportFastISelFailure(), llvm::reportGISelFailure(), llvm::ARCFrameLowering::restoreCalleeSavedRegisters(), RewriteP2Align(), runOnBasicBlock(), llvm::InstructionSelect::runOnMachineFunction(), llvm::Legalizer::runOnMachineFunction(), llvm::Localizer::runOnMachineFunction(), llvm::RegBankSelect::runOnMachineFunction(), llvm::MIRParserImpl::setupRegisterInfo(), SortBlocks(), llvm::ARCFrameLowering::spillCalleeSavedRegisters(), splitBlock(), subRangeLiveAt(), toString(), verify(), llvm::MachineDominatorTree::verifyAnalysis(), viewCFG(), and viewCFGOnly().
|
inline |
getNumBlockIDs - Return the number of MBB ID's allocated.
Definition at line 566 of file MachineFunction.h.
References llvm::dump(), print(), and llvm::verify().
Referenced by AppendEndToFunction(), AssignProtectedObjSet(), callHasRegMask(), llvm::SplitAnalysis::clear(), llvm::computeAllBlockSizes(), llvm::createSIModeRegisterPass(), llvm::HexagonFrameLowering::emitPrologue(), llvm::SpillPlacement::Node::getDissentingNeighbors(), llvm::InterferenceCache::init(), INITIALIZE_PASS(), llvm::LiveRangeCalc::isJointlyDominated(), matchPair(), llvm::LiveIntervals::print(), llvm::ReachingDefAnalysis::runOnMachineFunction(), llvm::MachineTraceMetrics::runOnMachineFunction(), llvm::ExecutionDomainFix::runOnMachineFunction(), llvm::SlotIndexes::runOnMachineFunction(), SortBlocks(), llvm::LoopTraversal::traverse(), UpdateCPSRUse(), and llvm::MachineTraceMetrics::Ensemble::verify().
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 264 of file MachineFunction.cpp.
Referenced by getDataLayout(), llvm::MIRParserImpl::initializeJumpTableInfo(), llvm::ARMTargetLowering::ReplaceNodeResults(), and tryToElideArgumentCopy().
LandingPadInfo & MachineFunction::getOrCreateLandingPadInfo | ( | MachineBasicBlock * | LandingPad | ) |
Find or create an LandingPadInfo for the specified MachineBasicBlock.
Definition at line 612 of file MachineFunction.cpp.
References llvm::LandingPadInfo::LandingPadBlock, and N.
Referenced by addCatchTypeInfo(), addCleanup(), addFilterTypeInfo(), addInvoke(), addLandingPad(), addSEHCatchHandler(), and addSEHCleanupHandler().
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 602 of file MachineFunction.cpp.
References getDataLayout(), getFunctionNumber(), and llvm::DataLayout::getPrivateGlobalPrefix().
Referenced by llvm::X86AsmPrinter::EmitInstruction(), llvm::X86TargetLowering::getPICJumpTableRelocBaseExpr(), llvm::PPCTargetLowering::getPICJumpTableRelocBaseExpr(), llvm::X86InstrInfo::getSerializableDirectMachineOperandTargetFlags(), GetSymbolRef(), and printSymbolOperand().
|
inline |
Get the function properties.
Definition at line 534 of file MachineFunction.h.
Referenced by llvm::Combiner::combineMachineInstrs(), llvm::createX86RetpolineThunksPass(), llvm::Thumb1FrameLowering::emitPrologue(), HasArgumentDef(), INITIALIZE_PASS(), llvm::MIRParserImpl::initializeMachineFunction(), insertCSRRestores(), llvm::MachineRegisterInfo::invalidateLiveness(), llvm::MachineRegisterInfo::isSSA(), isSSA(), llvm::MachineRegisterInfo::leaveSSA(), matchPair(), llvm::MIRPrinter::print(), print(), llvm::reportGISelFailure(), llvm::InstructionSelect::runOnMachineFunction(), llvm::Legalizer::runOnMachineFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::Localizer::runOnMachineFunction(), llvm::RegBankSelect::runOnMachineFunction(), llvm::scavengeFrameVirtualRegs(), llvm::MachineRegisterInfo::tracksLiveness(), and verify().
|
inline |
Definition at line 535 of file MachineFunction.h.
|
inline |
Definition at line 427 of file MachineFunction.h.
Referenced by llvm::MipsFunctionInfo::callPtrInfo(), llvm::MachinePointerInfo::getConstantPool(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachinePointerInfo::getGOT(), llvm::MachinePointerInfo::getJumpTable(), llvm::MachinePointerInfo::getStack(), and false::IntervalSorter::operator()().
|
inline |
getRegInfo - Return information about the registers currently in use.
Definition at line 457 of file MachineFunction.h.
Referenced by addCalleeSavedRegs(), addEpilogOnlyR10(), llvm::RegsForValue::AddInlineAsmOperands(), llvm::MachineBasicBlock::addLiveIn(), addLiveIn(), addLiveIn(), addRegsToSet(), adjCycles(), llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::SITargetLowering::AdjustInstrPostInstrSelection(), llvm::SIMachineFunctionInfo::allocateSGPRSpillToVGPR(), llvm::AllocationOrder::AllocationOrder(), allPhiOperandsUndefined(), llvm::AMDGPUInstructionSelector::AMDGPUInstructionSelector(), llvm::analyzeArguments(), AnalyzeReturnValues(), AppendEndToFunction(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(), assignCalleeSavedSpillSlots(), llvm::VirtRegMap::assignVirt2StackSlot(), buildEXP(), buildMUBUFOffsetLoadStore(), llvm::SIInstrInfo::calculateLDSSpillAddress(), llvm::calculateSpillWeightsAndHints(), callHasRegMask(), CallingConvSupported(), canCombine(), canCompareBeNewValueJump(), canFoldCopy(), llvm::AArch64InstrInfo::canInsertSelect(), llvm::SystemZInstrInfo::canInsertSelect(), llvm::SIInstrInfo::canInsertSelect(), llvm::PPCInstrInfo::canInsertSelect(), llvm::X86InstrInfo::canInsertSelect(), canMoveInstsAcrossMemOp(), llvm::MipsRegisterInfo::canRealignStack(), llvm::X86RegisterInfo::canRealignStack(), llvm::ARMBaseRegisterInfo::canRealignStack(), CC_Lanai32_VarArg(), changeFCMPPredToAArch64CC(), checkRegOnlyPHIInputs(), llvm::X86InstrInfo::classifyLEAReg(), llvm::SplitAnalysis::clear(), llvm::Combiner::combineMachineInstrs(), llvm::HexagonBlockRanges::computeDeadMap(), llvm::computeLiveIns(), computeLiveOuts(), computeWeight(), llvm::InstructionSelector::constrainOperandRegToRegClass(), llvm::constrainSelectedInstRegOperands(), llvm::SIInstrInfo::convertNonUniformIfRegion(), llvm::SIInstrInfo::convertNonUniformLoopRegion(), llvm::PPCInstrInfo::convertToImmediateForm(), llvm::SystemZInstrInfo::convertToThreeAddress(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::WebAssemblyInstrInfo::copyPhysReg(), llvm::NVPTXInstrInfo::copyPhysReg(), llvm::createHexagonHardwareLoops(), createLaneMaskReg(), llvm::AMDGPUTargetLowering::CreateLiveInRegister(), createPHIsForCMOVsInSinkBB(), createPHIsForSelects(), llvm::createRegUsageInfoCollector(), llvm::createSIAddIMGInitPass(), llvm::createSIFixWWMLivenessPass(), llvm::createSIWholeQuadModePass(), createSwiftErrorEntriesInEntryBlock(), llvm::HexagonInstrInfo::createVR(), llvm::createX86FixupSetCC(), llvm::createX86OptimizeLEAs(), llvm::RISCVFrameLowering::determineCalleeSaves(), llvm::XCoreFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), doCandidateWalk(), llvm::SIFrameLowering::eliminateCallFramePseudoInstr(), llvm::WebAssemblyRegisterInfo::eliminateFrameIndex(), llvm::RISCVRegisterInfo::eliminateFrameIndex(), llvm::HexagonRegisterInfo::eliminateFrameIndex(), llvm::ThumbRegisterInfo::eliminateFrameIndex(), llvm::SystemZRegisterInfo::eliminateFrameIndex(), llvm::AArch64RegisterInfo::eliminateFrameIndex(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), llvm::PPCTargetLowering::EmitAtomicBinary(), emitClzero(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::WebAssemblyFrameLowering::emitEpilogue(), emitIndirectDst(), emitIndirectSrc(), llvm::R600TargetLowering::EmitInstrWithCustomInserter(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMAsmPrinter::EmitJumpTableTBInst(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), emitPostSt(), llvm::NVPTXFrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::WebAssemblyFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::MSP430TargetLowering::EmitShiftInstr(), emitThumbRegPlusImmInReg(), emitXBegin(), EnsureStackAlignment(), llvm::MachineInstr::eraseFromParentAndMarkDBGValuesForRemoval(), llvm::HexagonInstrInfo::expandPostRAPseudo(), llvm::HexagonBlockRanges::expandToSubRegs(), extractRsrcPtr(), llvm::SITargetLowering::finalizeLowering(), llvm::TargetLoweringBase::finalizeLowering(), findMatchingInlineAsmOperand(), llvm::findPHICopyInsertPoint(), findScratchNonCalleeSaveRegister(), findSingleRegDef(), findStartOfTree(), fixupGlobalSaddr(), llvm::AArch64InstrInfo::foldMemoryOperandImpl(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), foldPatchpoint(), forceReg(), llvm::AArch64InstrInfo::genAlternativeCodeSequence(), llvm::TargetInstrInfo::genAlternativeCodeSequence(), llvm::SIInstrInfo::getAddNoCarry(), getAllSGPRs(), llvm::PPCRegisterInfo::getCalleeSavedRegs(), llvm::FunctionLoweringInfo::getCatchPadExceptionPointerVReg(), getConstant(), getDPPOp(), llvm::ARMTargetLowering::getExceptionSelectorRegister(), getFoldableImm(), getFPReg(), llvm::MipsFunctionInfo::getGlobalBaseReg(), llvm::LanaiMachineFunctionInfo::getGlobalBaseReg(), llvm::SparcInstrInfo::getGlobalBaseReg(), llvm::X86InstrInfo::getGlobalBaseReg(), llvm::R600InstrInfo::getIndirectIndexBegin(), llvm::AMDGPURegisterBankInfo::getInstrAlternativeMappings(), llvm::X86RegisterBankInfo::getInstrAlternativeMappings(), llvm::AArch64RegisterBankInfo::getInstrAlternativeMappings(), llvm::ARMRegisterBankInfo::getInstrMapping(), llvm::AMDGPURegisterBankInfo::getInstrMapping(), llvm::X86RegisterBankInfo::getInstrMapping(), llvm::AArch64RegisterBankInfo::getInstrMapping(), llvm::RegisterBankInfo::getInstrMappingImpl(), llvm::getLiveRegsAfter(), llvm::getLiveRegsBefore(), getLoadStoreOffsetAlign(), getMappedOp(), getMopState(), getOModValue(), llvm::PPCInstrInfo::getOperandLatency(), llvm::SIInstrInfo::getOpRegClass(), llvm::SIInstrInfo::getOpSize(), llvm::FunctionLoweringInfo::getOrCreateSwiftErrorVReg(), llvm::FunctionLoweringInfo::getOrCreateSwiftErrorVRegDefAt(), llvm::X86GenRegisterBankInfo::getPartialMappingIdx(), llvm::MachineFrameInfo::getPristineRegs(), getPrologueDeath(), getReassignedChan(), llvm::SystemZRegisterInfo::getRegAllocationHints(), llvm::ARMBaseRegisterInfo::getRegAllocationHints(), llvm::TargetRegisterInfo::getRegAllocationHints(), getRegClassFromGRPhysReg(), GetRegistersForValue(), getRegTy(), getRetpolineSymbol(), llvm::X86InstrInfo::getSerializableDirectMachineOperandTargetFlags(), getSmrdOpcode(), getSubOpcode(), getTag(), llvm::BPFTargetLowering::getTargetNodeName(), getUnderlyingArgReg(), llvm::PerFunctionMIParsingState::getVRegInfo(), llvm::PerFunctionMIParsingState::getVRegInfoNamed(), llvm::VirtRegMap::grow(), HandleVRSaveUpdate(), hasAnyNonFlatUseOfReg(), HasArgumentDef(), llvm::RISCVFrameLowering::hasFP(), llvm::TargetInstrInfo::hasReassociableOperands(), llvm::TargetInstrInfo::hasReassociableSibling(), hasVGPROperands(), hasVulnerableLoad(), hoistAndMergeSGPRInits(), INITIALIZE_PASS(), INITIALIZE_PASS_END(), llvm::outliner::Candidate::initLRU(), llvm::TailDuplicator::initMF(), llvm::WebAssemblyFunctionInfo::initWARegs(), llvm::X86FrameLowering::inlineStackProbe(), llvm::SITargetLowering::insertCopiesSplitCSR(), llvm::AArch64TargetLowering::insertCopiesSplitCSR(), llvm::PPCTargetLowering::insertCopiesSplitCSR(), insertCopy(), insertDeleteInstructions(), llvm::SIInstrInfo::insertEQ(), llvm::SIInstrInfo::insertNE(), llvm::AArch64InstrInfo::insertSelect(), llvm::SystemZInstrInfo::insertSelect(), llvm::PPCInstrInfo::insertSelect(), llvm::SIInstrInfo::insertSelect(), llvm::X86InstrInfo::insertSelect(), insertUndefLaneMask(), llvm::SIInstrInfo::insertVectorSelect(), isACalleeSavedRegister(), isCallerPreservedOrConstPhysReg(), isConstant(), isCrossCopy(), llvm::SITargetLowering::isEligibleForTailCallOptimization(), isFpMulInstruction(), isImplicitOperandIn(), isInstrUniform(), llvm::X86TargetLowering::isIntDivCheap(), llvm::AArch64InstrInfo::isMBBSafeToOutlineFrom(), isNonFoldablePartialRegisterLoad(), isNopCopy(), llvm::SIInstrInfo::isOperandLegal(), isPreISelGenericFloatingPointOpcode(), llvm::X86InstrInfo::isReallyTriviallyReMaterializable(), llvm::PPCInstrInfo::isSignOrZeroExtended(), isSortedByValueNo(), isSSA(), isSupportedType(), isTerminalReg(), llvm::SITargetLowering::isTypeDesirableForOp(), llvm::SIInstrInfo::isVGPRCopy(), isVirtualRegisterOperand(), llvm::SIInstrInfo::legalizeOperands(), llvm::SIInstrInfo::legalizeOpWithMove(), llvm::SITargetLowering::legalizeTargetIndependentNode(), llvm::MipsSEInstrInfo::loadImmediate(), loadM0FromVGPR(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::SIInstrInfo::loadRegFromStackSlot(), loadSRsrcFromVGPR(), LoopIsOuterMostWithPredecessor(), llvm::WebAssemblyMCInstLower::Lower(), llvm::X86CallLowering::lowerCall(), llvm::ARMCallLowering::lowerCall(), llvm::AArch64CallLowering::lowerCall(), llvm::MipsCallLowering::lowerCall(), lowerCallResult(), llvm::HexagonTargetLowering::LowerCallResult(), LowerCallResult(), llvm::PPCRegisterInfo::lowerCRBitRestore(), llvm::PPCRegisterInfo::lowerCRBitSpilling(), llvm::PPCRegisterInfo::lowerCRRestore(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::X86CallLowering::lowerFormalArguments(), llvm::AMDGPUCallLowering::lowerFormalArguments(), llvm::ARMCallLowering::lowerFormalArguments(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::HexagonTargetLowering::LowerFormalArguments(), llvm::SystemZTargetLowering::LowerFormalArguments(), llvm::SparcTargetLowering::LowerFormalArguments_32(), LowerFPToInt(), llvm::BPFTargetLowering::LowerOperation(), llvm::X86CallLowering::lowerReturn(), llvm::AMDGPUCallLowering::lowerReturn(), llvm::AArch64CallLowering::lowerReturn(), llvm::MipsCallLowering::lowerReturn(), llvm::PPCRegisterInfo::lowerVRSAVERestore(), llvm::PPCRegisterInfo::lowerVRSAVESpilling(), llvm::machineFunctionIsIllegal(), MatchingStackOffset(), matchSwap(), llvm::SIRegisterInfo::materializeFrameBaseRegister(), llvm::AArch64RegisterInfo::materializeFrameBaseRegister(), llvm::PPCRegisterInfo::materializeFrameBaseRegister(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::SIInstrInfo::materializeImmediate(), mayTailCallThisCC(), MoveAndTeeForMultiUse(), llvm::SIInstrInfo::moveToVALU(), MustSaveLR(), needToReserveScavengingSpillSlots(), normalizePBQPSpillWeight(), optimizeCall(), llvm::AArch64InstrInfo::optimizeCondBranch(), llvm::BranchFolder::OptimizeFunction(), llvm::LanaiInstrInfo::optimizeSelect(), llvm::ARMBaseInstrInfo::optimizeSelect(), optimizeVcndVcmpPair(), parseCond(), llvm::MIRParserImpl::parseRegisterInfo(), Passv64i1ArgInRegs(), populateCandidates(), llvm::HexagonInstrInfo::PredicateInstruction(), llvm::MIRPrinter::print(), llvm::MIPrinter::print(), llvm::MachineBasicBlock::print(), llvm::printMBBReference(), propagateLocalCopies(), propagateSwiftErrorVRegs(), readsVCCZ(), llvm::TargetInstrInfo::reassociateOps(), llvm::recomputeLivenessFlags(), removePhis(), removeRedundantBlockingStores(), llvm::PPCInstrInfo::replaceInstrWithLI(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::GCNRPTracker::reset(), llvm::GCNDownwardRPTracker::reset(), llvm::LiveRangeCalc::reset(), llvm::PPCRegisterInfo::resolveFrameIndex(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), llvm::SIRegisterInfo::restoreSGPR(), llvm::UnreachableBlockElimPass::run(), runOnBasicBlock(), llvm::InstructionSelect::runOnMachineFunction(), llvm::WebAssemblyAsmPrinter::runOnMachineFunction(), llvm::Legalizer::runOnMachineFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::RegisterClassInfo::runOnMachineFunction(), llvm::MachinePipeliner::runOnMachineFunction(), llvm::MachineTraceMetrics::runOnMachineFunction(), llvm::ExecutionDomainFix::runOnMachineFunction(), llvm::LiveVariables::runOnMachineFunction(), llvm::LiveIntervals::runOnMachineFunction(), llvm::AVRDynAllocaSR::runOnMachineFunction(), llvm::scavengeFrameVirtualRegs(), llvm::AVRDAGToDAGISel::SelectInlineAsmMemoryOperand(), llvm::FunctionLoweringInfo::set(), llvm::GISelCSEInfo::setMF(), llvm::MachineIRBuilder::setMF(), llvm::CoalescerPair::setRegisters(), llvm::RegScavenger::setRegUsed(), llvm::X86MachineFunctionInfo::setRestoreBasePointer(), llvm::MIRParserImpl::setupRegisterInfo(), llvm::SIInstrInfo::shouldClusterMemOps(), shouldPreventUndefRegUpdateMemFold(), SortBlocks(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::X86FrameLowering::spillCalleeSavedRegisters(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), llvm::SIRegisterInfo::spillSGPR(), splitBlock(), llvm::MachineBasicBlock::SplitCriticalEdge(), splitMBB(), llvm::LiveDebugVariables::splitRegister(), llvm::CriticalAntiDepBreaker::StartBlock(), llvm::AggressiveAntiDepBreaker::StartBlock(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::AArch64InstrInfo::storeRegToStackSlot(), llvm::SIInstrInfo::storeRegToStackSlot(), false::Chain::str(), subRangeLiveAt(), swapMIOperands(), tryAddToFoldList(), tryChangeVGPRtoSGPRinCopy(), llvm::tryFoldSPUpdateIntoPushPop(), unpackF64OnRV32DSoftABI(), UnpackFromArgumentSlot(), unpackFromRegLoc(), llvm::AArch64RegisterInfo::UpdateCustomCalleeSavedRegs(), updateLiveness(), updateOperand(), UpdateOperandRegClass(), updateOperandRegConstraints(), llvm::ARMBaseRegisterInfo::updateRegAllocHint(), usedAsAddr(), verify(), llvm::SIInstrInfo::verifyInstruction(), verifyLeafProcRegUse(), VisitGlobalVariableForEmission(), and llvm::VirtRegAuxInfo::weightCalcHelper().
|
inline |
Definition at line 458 of file MachineFunction.h.
|
inlinestatic |
Support for MachineBasicBlock::getNextNode().
Definition at line 610 of file MachineFunction.h.
References addLiveIn().
|
inline |
getSubtarget - Return the subtarget for which this machine code is being compiled.
Definition at line 446 of file MachineFunction.h.
Referenced by llvm::AArch64beTargetMachine::AArch64beTargetMachine(), llvm::DwarfCompileUnit::addAddress(), llvm::DwarfCompileUnit::addComplexAddress(), addExclusiveRegPair(), llvm::MachineBasicBlock::addLiveIn(), addLiveInRegs(), llvm::ScheduleDAGInstrs::addPhysRegDataDeps(), addRegsToSet(), addSavedGPR(), llvm::ScheduleDAGInstrs::addVRegDefDeps(), adjCycles(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), AdjustStackOffset(), allocateRegMask(), llvm::SIMachineFunctionInfo::allocateSGPRSpillToVGPR(), allPhiOperandsUndefined(), llvm::CCState::analyzeMustTailForwardedRegisters(), AppendEndToFunction(), llvm::A57ChainingConstraint::apply(), llvm::HexagonSubtarget::CallMutation::apply(), areCandidatesToMergeOrPair(), llvm::ARMBETargetMachine::ARMBETargetMachine(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), assignCalleeSavedSpillSlots(), AssignProtectedObjSet(), llvm::DebugHandlerBase::beginFunction(), llvm::CodeViewDebug::beginFunctionImpl(), branchMaxOffsets(), buildMUBUFOffsetLoadStore(), llvm::AArch64InstrInfo::buildOutlinedFrame(), llvm::ScheduleDAGInstrs::buildSchedGraph(), llvm::calculateDbgEntityHistory(), llvm::SIInstrInfo::calculateLDSSpillAddress(), llvm::LiveRangeEdit::calculateRegClassAndHint(), callHasRegMask(), llvm::HexagonTargetLowering::CanLowerReturn(), canMoveInstsAcrossMemOp(), cannotCoexistAsymm(), llvm::HexagonPacketizerList::canPromoteToDotCur(), llvm::MipsRegisterInfo::canRealignStack(), llvm::ARMBaseRegisterInfo::canRealignStack(), llvm::MachineBasicBlock::canSplitCriticalEdge(), llvm::AArch64FrameLowering::canUseAsPrologue(), CC_MipsO32(), llvm::CC_X86_VectorCallAssignRegister(), checkNumAlignedDPRCS2Regs(), checkRegOnlyPHIInputs(), llvm::rdf::DataFlowGraph::DefStack::clear_block(), llvm::computeBlockSize(), computeBranchTargetAndInversion(), computeCalleeSaveRegisterPairs(), llvm::AMDGPUTargetLowering::computeKnownBitsForTargetNode(), computeLiveOuts(), llvm::MachineFrameInfo::computeMaxCallFrameSize(), llvm::TargetSchedModel::computeOutputLatency(), llvm::DwarfCompileUnit::constructLabelDIE(), llvm::MIRPrinter::convert(), llvm::MIRPrinter::convertStackObjects(), llvm::Thumb1InstrInfo::copyPhysReg(), llvm::AVRInstrInfo::copyPhysReg(), llvm::SystemZInstrInfo::copyPhysReg(), llvm::createBURRListDAGScheduler(), llvm::createDefaultScheduler(), llvm::MipsFunctionInfo::createEhDataRegsFI(), llvm::XCoreFunctionInfo::createEHSpillSlot(), llvm::ARM::createFastISel(), llvm::PPC::createFastISel(), llvm::XCoreFunctionInfo::createFPSpillSlot(), llvm::createHexagonHardwareLoops(), llvm::createHybridListDAGScheduler(), llvm::createILPListDAGScheduler(), llvm::MipsFunctionInfo::createISRRegFI(), llvm::createLibcall(), llvm::XCoreFunctionInfo::createLRSpillSlot(), llvm::createNVPTXPrologEpilogPass(), llvm::ARMBaseTargetMachine::createPassConfig(), llvm::R600TargetMachine::createPassConfig(), createPHIsForCMOVsInSinkBB(), createPHIsForSelects(), llvm::createR600ExpandSpecialInstrsPass(), llvm::createR600ISelDag(), llvm::FunctionLoweringInfo::CreateReg(), llvm::FunctionLoweringInfo::CreateRegs(), llvm::createRegUsageInfoCollector(), llvm::createSIAddIMGInitPass(), llvm::createSIDebuggerInsertNopsPass(), llvm::createSIFixWWMLivenessPass(), llvm::createSIModeRegisterPass(), llvm::createSIWholeQuadModePass(), llvm::createSourceListDAGScheduler(), llvm::createSparcDelaySlotFillerPass(), llvm::createSystemZLDCleanupPass(), llvm::PPCInstrInfo::CreateTargetPostRAHazardRecognizer(), llvm::createX86FixupBWInsts(), llvm::createX86FixupLEAs(), llvm::createX86FixupSetCC(), llvm::createX86IndirectBranchTrackingPass(), llvm::createX86OptimizeLEAs(), llvm::createX86PadShortFunctions(), llvm::createX86RetpolineThunksPass(), llvm::createXCoreFrameToArgsOffsetEliminationPass(), llvm::SystemZFrameLowering::determineCalleeSaves(), llvm::RISCVFrameLowering::determineCalleeSaves(), llvm::MipsSEFrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::AArch64FrameLowering::determineCalleeSaves(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), llvm::TargetOptions::DisableFramePointerElim(), doesNotGeneratecode(), llvm::AArch64FrameLowering::eliminateCallFramePseudoInstr(), llvm::MSP430FrameLowering::eliminateCallFramePseudoInstr(), llvm::WebAssemblyFrameLowering::eliminateCallFramePseudoInstr(), llvm::AVRFrameLowering::eliminateCallFramePseudoInstr(), llvm::XCoreFrameLowering::eliminateCallFramePseudoInstr(), llvm::SIFrameLowering::eliminateCallFramePseudoInstr(), llvm::ARCFrameLowering::eliminateCallFramePseudoInstr(), llvm::BPFRegisterInfo::eliminateFrameIndex(), llvm::MSP430RegisterInfo::eliminateFrameIndex(), llvm::WebAssemblyRegisterInfo::eliminateFrameIndex(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::RISCVRegisterInfo::eliminateFrameIndex(), llvm::LanaiRegisterInfo::eliminateFrameIndex(), llvm::ARCRegisterInfo::eliminateFrameIndex(), llvm::HexagonRegisterInfo::eliminateFrameIndex(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::ThumbRegisterInfo::eliminateFrameIndex(), llvm::SystemZRegisterInfo::eliminateFrameIndex(), llvm::AArch64RegisterInfo::eliminateFrameIndex(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), emitAligningInstructions(), llvm::AMDGPUAsmPrinter::EmitBasicBlockStart(), llvm::AArch64FrameLowering::emitCalleeSavedFrameMoves(), emitComments(), emitDebugLocValue(), emitDebugValueComment(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::AVRFrameLowering::emitEpilogue(), llvm::SparcFrameLowering::emitEpilogue(), llvm::MSP430FrameLowering::emitEpilogue(), llvm::XCoreFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::SIFrameLowering::emitEpilogue(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::ARCFrameLowering::emitEpilogue(), llvm::SystemZFrameLowering::emitEpilogue(), llvm::WebAssemblyFrameLowering::emitEpilogue(), llvm::MipsAsmPrinter::emitFrameDirective(), llvm::AMDGPUAsmPrinter::EmitFunctionBodyStart(), llvm::HexagonDAGToDAGISel::EmitFunctionEntryCode(), llvm::AMDGPUAsmPrinter::EmitFunctionEntryLabel(), EmitGCCInlineAsmStr(), llvm::AsmPrinter::emitImplicitDef(), llvm::R600AsmPrinter::EmitInstruction(), llvm::SystemZAsmPrinter::EmitInstruction(), llvm::HexagonAsmPrinter::EmitInstruction(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::X86AsmPrinter::EmitInstruction(), llvm::AMDGPUAsmPrinter::EmitInstruction(), llvm::BPFTargetLowering::EmitInstrWithCustomInserter(), llvm::RISCVTargetLowering::EmitInstrWithCustomInserter(), llvm::AVRTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::ARMAsmPrinter::EmitJumpTableTBInst(), emitKill(), llvm::ThumbRegisterInfo::emitLoadConstPool(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), EmitNop(), llvm::AVRFrameLowering::emitPrologue(), llvm::NVPTXFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::MSP430FrameLowering::emitPrologue(), llvm::SIFrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::HexagonFrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), llvm::WebAssemblyFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::MSP430TargetLowering::EmitShiftInstr(), llvm::ARMSelectionDAGInfo::EmitSpecializedLibcall(), llvm::X86FrameLowering::emitStackProbe(), EmitTailCallStoreFPAndRetAddr(), llvm::HexagonSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::ARMSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), emitThumb1LoadConstPool(), emitThumb2LoadConstPool(), emitThumbRegPlusImmInReg(), llvm::AsmPrinter::emitXRayTable(), enableAllocFrameElim(), llvm::HexagonFrameLowering::enableCalleeSaveSkip(), llvm::PPCFrameLowering::enableShrinkWrapping(), llvm::WinException::endFunclet(), eraseDeadBBsAndChildren(), llvm::MachineFrameInfo::estimateStackSize(), llvm::AArch64InstrInfo::expandPostRAPseudo(), expandXorFP(), llvm::LegalizerHelper::fewerElementsVector(), llvm::finalizeBundle(), findScratchNonCalleeSaveRegister(), findSingleRegDef(), findStartOfTree(), findUncondBrI(), llvm::fixStackStores(), fixupGlobalSaddr(), llvm::TargetInstrInfo::foldMemoryOperand(), llvm::AArch64InstrInfo::foldMemoryOperandImpl(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), llvm::X86InstrInfo::foldMemoryOperandImpl(), fuseInstructionPair(), llvm::AArch64InstrInfo::genAlternativeCodeSequence(), llvm::AMDGPUSubtarget::get(), llvm::HexagonFrameLowering::getAlignaInstr(), llvm::PPCRegisterInfo::getBaseRegister(), llvm::RISCVRegisterInfo::getCalleeSavedRegs(), llvm::AArch64RegisterInfo::getCalleeSavedRegs(), llvm::MipsRegisterInfo::getCalleeSavedRegs(), llvm::SystemZRegisterInfo::getCalleeSavedRegs(), llvm::PPCRegisterInfo::getCalleeSavedRegs(), llvm::X86RegisterInfo::getCalleeSavedRegs(), llvm::ARMBaseRegisterInfo::getCalleeSavedRegs(), llvm::PPCRegisterInfo::getCalleeSavedRegsViaCopy(), llvm::RISCVRegisterInfo::getCallPreservedMask(), llvm::AArch64RegisterInfo::getCallPreservedMask(), llvm::MipsRegisterInfo::getCallPreservedMask(), llvm::SystemZRegisterInfo::getCallPreservedMask(), llvm::PPCRegisterInfo::getCallPreservedMask(), llvm::X86RegisterInfo::getCallPreservedMask(), llvm::ARMBaseRegisterInfo::getCallPreservedMask(), getCmpForPseudo(), getDPPOp(), getDwarfRegNum(), llvm::getEHScopeMembership(), getElementByteSizeValue(), getEquivalentCallShort(), llvm::MachineBasicBlock::getFallThrough(), getFPMode(), getFPReg(), llvm::R600FrameLowering::getFrameIndexReference(), llvm::RISCVFrameLowering::getFrameIndexReference(), llvm::SIFrameLowering::getFrameIndexReference(), llvm::SparcFrameLowering::getFrameIndexReference(), llvm::HexagonFrameLowering::getFrameIndexReference(), llvm::TargetFrameLowering::getFrameIndexReference(), llvm::X86FrameLowering::getFrameIndexReferencePreferSP(), llvm::AVRRegisterInfo::getFrameRegister(), llvm::MipsRegisterInfo::getFrameRegister(), llvm::ARMBaseRegisterInfo::getFrameRegister(), llvm::NVPTXAsmPrinter::getFunctionFrameSymbol(), getGlobalBaseRegClass(), llvm::ARMHazardRecognizer::getHazardType(), llvm::R600InstrInfo::getIndirectIndexEnd(), llvm::X86RegisterBankInfo::getInstrAlternativeMappings(), llvm::AArch64RegisterBankInfo::getInstrAlternativeMappings(), llvm::ARMRegisterBankInfo::getInstrMapping(), llvm::AArch64RegisterBankInfo::getInstrMapping(), llvm::RegisterBankInfo::getInstrMappingImpl(), getInstrVecReg(), llvm::MSP430InstrInfo::getInstSizeInBytes(), llvm::AVRInstrInfo::getInstSizeInBytes(), llvm::ThumbRegisterInfo::getLargestLegalSuperClass(), llvm::AVRRegisterInfo::getLargestLegalSuperClass(), llvm::PPCRegisterInfo::getLargestLegalSuperClass(), llvm::X86RegisterInfo::getLargestLegalSuperClass(), getLayoutSuccessorProbThreshold(), getLoadStoreOffsetAlign(), getLoadStoreOffsetSizeInBits(), getMappedOp(), getMemcpyLoadsAndStores(), getMopState(), llvm::MipsFunctionInfo::getMoveF64ViaSpillFI(), getNewValueJumpOpcode(), getOModValue(), getOpenCLAlignment(), llvm::R600AsmPrinter::getPassName(), llvm::HexagonEvaluator::getPhysRegBitWidth(), llvm::ThumbRegisterInfo::getPointerRegClass(), llvm::SparcRegisterInfo::getPointerRegClass(), llvm::WebAssemblyRegisterInfo::getPointerRegClass(), llvm::MipsRegisterInfo::getPointerRegClass(), llvm::X86RegisterInfo::getPointerRegClass(), llvm::MachineFrameInfo::getPristineRegs(), llvm::X86RegisterInfo::getPtrSizedFrameRegister(), getReassignedChan(), llvm::SystemZRegisterInfo::getRegAllocationHints(), GetRegistersForValue(), llvm::MipsRegisterInfo::getRegPressureLimit(), llvm::AArch64RegisterInfo::getRegPressureLimit(), llvm::ARMBaseRegisterInfo::getRegPressureLimit(), llvm::SIRegisterInfo::getRegPressureLimit(), getRegTy(), llvm::R600RegisterInfo::getReservedRegs(), llvm::SparcRegisterInfo::getReservedRegs(), llvm::HexagonRegisterInfo::getReservedRegs(), llvm::MipsRegisterInfo::getReservedRegs(), llvm::SIRegisterInfo::getReservedRegs(), llvm::AArch64RegisterInfo::getReservedRegs(), llvm::PPCRegisterInfo::getReservedRegs(), llvm::X86RegisterInfo::getReservedRegs(), llvm::ARMBaseRegisterInfo::getReservedRegs(), getSchedRegions(), llvm::X86InstrInfo::getSerializableDirectMachineOperandTargetFlags(), llvm::ARMBaseRegisterInfo::getSjLjDispatchPreservedMask(), getSmrdOpcode(), llvm::TargetInstrInfo::getSPAdjust(), llvm::X86InstrInfo::getSPAdjust(), llvm::TargetInstrInfo::getStackSlotRange(), getSubOpcode(), llvm::SelectionDAG::getSubtarget(), llvm::AsmPrinter::getSubtargetInfo(), GetSymbolRef(), getTag(), getTargetIndexName(), llvm::BPFTargetLowering::getTargetNodeName(), llvm::MachineRegisterInfo::getTargetRegisterInfo(), llvm::SITargetLowering::getTgtMemIntrinsic(), llvm::ARMBaseRegisterInfo::getThisReturnPreservedMask(), llvm::ARMBaseRegisterInfo::getTLSCallPreservedMask(), getUnderlyingObjects(), llvm::ARMInstrInfo::getUnindexedOpcode(), giveUpWithRemarks(), llvm::CCState::HandleByVal(), HandleVRSaveUpdate(), hasAnyNonFlatUseOfReg(), HasArgumentDef(), llvm::SparcFrameLowering::hasFP(), llvm::RISCVFrameLowering::hasFP(), llvm::ARMFrameLowering::hasFP(), llvm::ARCFrameLowering::hasFP(), llvm::AArch64FrameLowering::hasFP(), llvm::HexagonFrameLowering::hasFP(), hasRegisterDependency(), llvm::PPCRegisterInfo::hasReservedSpillSlot(), llvm::SIFrameLowering::hasSP(), hasUseAfterLoop(), hasVulnerableLoad(), llvm::HexagonAsmPrinter::HexagonProcessInstruction(), hoistAndMergeSGPRInits(), llvm::GCNMaxOccupancySchedStrategy::initialize(), llvm::PostGenericScheduler::initialize(), INITIALIZE_PASS(), INITIALIZE_PASS_END(), llvm::MIRParserImpl::initializeJumpTableInfo(), llvm::MIRParserImpl::initializeMachineFunction(), llvm::TailDuplicator::initMF(), initSlots2Values(), llvm::X86FrameLowering::inlineStackProbe(), llvm::HexagonFrameLowering::insertCFIInstructions(), insertCopy(), insertCSRRestores(), insertCSRSaves(), insertDeleteInstructions(), InsertLDR_STR(), InsertReturnAddressAuth(), InsertSEH(), insertUndefLaneMask(), llvm::Mips16RegisterInfo::intRegClass(), isACalleeSavedRegister(), llvm::PPCRegisterInfo::isCallerPreservedPhysReg(), isCompareZero(), isCopy(), isFpMulInstruction(), isHardwareLoop(), isImplicitOperandIn(), llvm::HexagonPacketizerList::isLegalToPacketizeTogether(), isLiveOut(), llvm::SwingSchedulerDAG::isLoopCarriedDep(), llvm::AArch64InstrInfo::isMBBSafeToOutlineFrom(), isMinSize(), IsMovepDestinationRegPair(), isNonFoldablePartialRegisterLoad(), isNopCopy(), IsPseudoCallIndirect(), llvm::VLIWResourceModel::isResourceAvailable(), llvm::TargetInstrInfo::isSchedulingBoundary(), llvm::PPCInstrInfo::isSignOrZeroExtended(), isSupportedType(), isTerminalReg(), IsUnconditionalJump(), isVirtualRegisterOperand(), llvm::ARMFrameLowering::keepFramePointer(), llvm::SIInstrInfo::legalizeOperands(), llvm::SIMachineFunctionInfo::limitOccupancy(), llvm::LiveRegMatrix::LiveRegMatrix(), llvm::X86InstrInfo::loadRegFromAddr(), lookupCandidateBaseReg(), LoopIsOuterMostWithPredecessor(), llvm::X86CallLowering::lowerCall(), llvm::ARMCallLowering::lowerCall(), llvm::AArch64CallLowering::lowerCall(), llvm::MipsCallLowering::lowerCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::PPCRegisterInfo::lowerCRBitRestore(), llvm::PPCRegisterInfo::lowerCRBitSpilling(), llvm::PPCRegisterInfo::lowerCRRestore(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::PPCRegisterInfo::lowerDynamicAreaOffset(), llvm::AMDGPUCallLowering::lowerFormalArguments(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::SITargetLowering::LowerFormalArguments(), llvm::AMDGPUAsmPrinter::lowerOperand(), llvm::ARMCallLowering::lowerReturn(), llvm::PPCRegisterInfo::lowerVRSAVERestore(), llvm::PPCRegisterInfo::lowerVRSAVESpilling(), MachineFunction(), llvm::machineFunctionIsIllegal(), MakeM0Inst(), matchSwap(), llvm::SIRegisterInfo::materializeFrameBaseRegister(), llvm::AArch64RegisterInfo::materializeFrameBaseRegister(), llvm::PPCRegisterInfo::materializeFrameBaseRegister(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::MachineInstr::mayAlias(), MoveAndTeeForMultiUse(), moveInstrOut(), needsReferenceType(), llvm::TargetRegisterInfo::needsStackRealignment(), normalizePBQPSpillWeight(), false::IntervalSorter::operator()(), optimizeCall(), optimizeVcndVcmpPair(), parseCond(), parseTexFail(), llvm::MIRPrinter::print(), llvm::MIPrinter::print(), llvm::RegisterBankInfo::OperandsMapper::print(), print(), llvm::MachineBasicBlock::print(), llvm::MachineFrameInfo::print(), llvm::MachineInstr::print(), llvm::AVRAsmPrinter::PrintAsmOperand(), llvm::HexagonAsmPrinter::PrintAsmOperand(), llvm::ARMAsmPrinter::PrintAsmOperand(), llvm::AMDGPUAsmPrinter::PrintAsmOperand(), printConstant(), llvm::ARMAsmPrinter::printOperand(), llvm::GCNIterativeScheduler::printRegions(), llvm::MipsAsmPrinter::printSavedRegsBitmask(), llvm::GCNIterativeScheduler::printSchedRP(), llvm::MachineOperand::printTargetFlags(), llvm::RISCVFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(), llvm::XCoreFrameLowering::processFunctionBeforeFrameFinalized(), llvm::ARCFrameLowering::processFunctionBeforeFrameFinalized(), llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized(), produceCompactUnwindFrame(), propagateSwiftErrorVRegs(), readsVCCZ(), llvm::TargetInstrInfo::reassociateOps(), llvm::MachineRegisterInfo::recomputeRegClass(), removePhis(), removeRedundantBlockingStores(), ReplaceDominatedUses(), replaceFI(), ReplaceFrameIndex(), llvm::SIRegisterInfo::requiresFrameIndexReplacementScavenging(), llvm::SIRegisterInfo::reservedPrivateSegmentBufferReg(), llvm::SIRegisterInfo::reservedPrivateSegmentWaveByteOffsetReg(), llvm::R600InstrInfo::reserveIndirectRegisters(), reservePrivateMemoryRegs(), llvm::ThumbRegisterInfo::resolveFrameIndex(), llvm::SIRegisterInfo::resolveFrameIndex(), llvm::PPCRegisterInfo::resolveFrameIndex(), llvm::ARMBaseRegisterInfo::resolveFrameIndex(), llvm::AArch64FrameLowering::resolveFrameIndexReference(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), llvm::ResourcePriorityQueue::ResourcePriorityQueue(), llvm::AVRFrameLowering::restoreCalleeSavedRegisters(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), llvm::SystemZFrameLowering::restoreCalleeSavedRegisters(), llvm::XCoreFrameLowering::restoreCalleeSavedRegisters(), llvm::MSP430FrameLowering::restoreCalleeSavedRegisters(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), restoreCRs(), llvm::SIRegisterInfo::restoreSGPR(), llvm::ThumbRegisterInfo::rewriteFrameIndex(), llvm::UnreachableBlockElimPass::run(), llvm::AVRDAGToDAGISel::runOnMachineFunction(), llvm::HexagonAsmPrinter::runOnMachineFunction(), llvm::HexagonDAGToDAGISel::runOnMachineFunction(), llvm::MipsDAGToDAGISel::runOnMachineFunction(), llvm::NVPTXDAGToDAGISel::runOnMachineFunction(), llvm::InstructionSelect::runOnMachineFunction(), llvm::WebAssemblyAsmPrinter::runOnMachineFunction(), llvm::InsertNOPLoad::runOnMachineFunction(), llvm::BreakFalseDeps::runOnMachineFunction(), llvm::DetectRoundChange::runOnMachineFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::FixAllFDIVSQRT::runOnMachineFunction(), llvm::RegisterClassInfo::runOnMachineFunction(), llvm::ReachingDefAnalysis::runOnMachineFunction(), llvm::ARMAsmPrinter::runOnMachineFunction(), llvm::LiveStacks::runOnMachineFunction(), llvm::AMDGPUAsmPrinter::runOnMachineFunction(), llvm::MachineTraceMetrics::runOnMachineFunction(), llvm::MipsAsmPrinter::runOnMachineFunction(), llvm::ExecutionDomainFix::runOnMachineFunction(), llvm::X86AsmPrinter::runOnMachineFunction(), llvm::LiveIntervals::runOnMachineFunction(), llvm::AVRDynAllocaSR::runOnMachineFunction(), llvm::Mips16RegisterInfo::saveScavengerRegister(), llvm::ThumbRegisterInfo::saveScavengerRegister(), llvm::scavengeFrameVirtualRegs(), llvm::GCNIterativeScheduler::schedule(), llvm::ScheduleDAGInstrs::ScheduleDAGInstrs(), llvm::GCNIterativeScheduler::scheduleILP(), llvm::GCNIterativeScheduler::scheduleLegacyMaxOccupancy(), llvm::ScheduleDAGMILive::scheduleMI(), llvm::GCNIterativeScheduler::scheduleMinReg(), llvm::GCNIterativeScheduler::scheduleRegion(), llvm::AVRDAGToDAGISel::SelectInlineAsmMemoryOperand(), llvm::FunctionLoweringInfo::set(), setAliasRegs(), setCallTargetReg(), llvm::MachineIRBuilder::setMF(), llvm::RegScavenger::setRegUsed(), llvm::X86MachineFunctionInfo::setRestoreBasePointer(), llvm::AsmPrinter::SetupMachineFunction(), llvm::DwarfDebug::shareAcrossDWOCUs(), llvm::HexagonRegisterInfo::shouldCoalesce(), llvm::SIMachineFunctionInfo::SIMachineFunctionInfo(), llvm::MachineBasicBlock::SkipPHIsAndLabels(), llvm::MachineBasicBlock::SkipPHIsLabelsAndDebug(), llvm::GCNIterativeScheduler::sortRegionsByPressure(), llvm::SparcFrameLowering::SparcFrameLowering(), llvm::AVRFrameLowering::spillCalleeSavedRegisters(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::SystemZFrameLowering::spillCalleeSavedRegisters(), llvm::XCoreFrameLowering::spillCalleeSavedRegisters(), llvm::MSP430FrameLowering::spillCalleeSavedRegisters(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::SIRegisterInfo::spillSGPR(), splitBlock(), llvm::MachineBasicBlock::SplitCriticalEdge(), splitMBB(), srcMgrDiagHandler(), llvm::X86InstrInfo::storeRegToAddr(), false::Chain::str(), subRangeLiveAt(), llvm::SwingSchedulerDAG::SwingSchedulerDAG(), llvm::SystemZPostRASchedStrategy::SystemZPostRASchedStrategy(), tieOpsIfNeeded(), llvm::GCNIterativeScheduler::tryMaximizeOccupancy(), tryOptimizeLEAtoMOV(), trySequenceOfOnes(), llvm::X86InstrInfo::unfoldMemoryOperand(), UpdateCPSRUse(), llvm::AArch64RegisterInfo::UpdateCustomCalleeSavedRegs(), llvm::AArch64RegisterInfo::UpdateCustomCallPreservedMask(), updateLiveIn(), UpdateOperandRegClass(), UpdatePredRedefs(), llvm::DwarfCompileUnit::updateSubprogramScopeDIE(), llvm::MachineBasicBlock::updateTerminator(), usedAsAddr(), llvm::HexagonRegisterInfo::useFPForScavengingIndex(), verify(), llvm::SIInstrInfo::verifyInstruction(), VisitGlobalVariableForEmission(), llvm::VLIWPacketizerList::VLIWPacketizerList(), llvm::VirtRegAuxInfo::weightCalcHelper(), llvm::LegalizerHelper::widenScalar(), windowsRequiresStackProbe(), llvm::WebAssemblyFrameLowering::writeSPToGlobal(), and llvm::X86CallLowering::X86CallLowering().
|
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 452 of file MachineFunction.h.
|
inline |
getTarget - Return the target machine this machine code is compiled with
Definition at line 442 of file MachineFunction.h.
Referenced by llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::NVPTXTargetLowering::allowFMA(), llvm::NVPTXTargetLowering::allowUnsafeFPMath(), AppendEndToFunction(), AssignProtectedObjSet(), CallingConvSupported(), llvm::AArch64RegisterInfo::cannotEliminateFrame(), llvm::ARMBaseRegisterInfo::cannotEliminateFrame(), llvm::MachineBasicBlock::canSplitCriticalEdge(), llvm::X86FrameLowering::canUseLEAForSPInEpilogue(), llvm::AArch64TargetLowering::CCAssignFnForReturn(), llvm::MipsFunctionInfo::createEhDataRegsFI(), llvm::MipsTargetLowering::createFastISel(), llvm::createRegUsageInfoCollector(), llvm::createX86RetpolineThunksPass(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::TargetFrameLowering::determineCalleeSaves(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::AVRRegisterInfo::eliminateFrameIndex(), llvm::X86FrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::NVPTXFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::AsmPrinter::emitStackSizeSection(), eraseDeadBBsAndChildren(), ExpandMOVImmSExti8(), llvm::AArch64InstrInfo::expandPostRAPseudo(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::AMDGPUSubtarget::get(), llvm::HexagonFrameLowering::getAlignaInstr(), llvm::HexagonFrameLowering::getFrameIndexReference(), llvm::X86FrameLowering::getFrameIndexReference(), llvm::MipsRegisterInfo::getFrameRegister(), llvm::X86InstrInfo::getGlobalBaseReg(), getGlobalBaseRegClass(), llvm::AArch64InstrInfo::getInstSizeInBytes(), llvm::ARCInstrInfo::getInstSizeInBytes(), llvm::RISCVInstrInfo::getInstSizeInBytes(), llvm::MSP430InstrInfo::getInstSizeInBytes(), llvm::AVRInstrInfo::getInstSizeInBytes(), llvm::MipsInstrInfo::getInstSizeInBytes(), llvm::ARMBaseInstrInfo::getInstSizeInBytes(), llvm::SystemZInstrInfo::getInstSizeInBytes(), llvm::PPCInstrInfo::getInstSizeInBytes(), llvm::SIInstrInfo::getInstSizeInBytes(), getLayoutSuccessorProbThreshold(), getLoadStoreOffsetAlign(), llvm::PPCInstrInfo::getMachineCombinerPatterns(), getMOVL(), getOpenCLAlignment(), getRetpolineSymbol(), llvm::X86InstrInfo::getSerializableDirectMachineOperandTargetFlags(), llvm::HexagonInstrInfo::getSize(), llvm::TargetFrameLowering::getStackAlignmentSkew(), llvm::ARMInstrInfo::getUnindexedOpcode(), giveUpWithRemarks(), llvm::MipsFrameLowering::hasFP(), llvm::SparcFrameLowering::hasFP(), llvm::RISCVFrameLowering::hasFP(), llvm::SystemZFrameLowering::hasFP(), llvm::MSP430FrameLowering::hasFP(), llvm::XCoreFrameLowering::hasFP(), llvm::ARMFrameLowering::hasFP(), llvm::ARCFrameLowering::hasFP(), llvm::AArch64FrameLowering::hasFP(), llvm::HexagonFrameLowering::hasFP(), llvm::X86FrameLowering::hasFP(), hoistAndMergeSGPRInits(), llvm::X86FrameLowering::inlineStackProbe(), llvm::AArch64InstrInfo::isAssociativeAndCommutative(), llvm::X86InstrInfo::isAssociativeAndCommutative(), isCombineInstrCandidateFP(), isEFLAGSLive(), isOptNone(), isSortedByValueNo(), llvm::MipsSEInstrInfo::loadImmediate(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::MipsCallLowering::lowerCall(), llvm::SITargetLowering::LowerCall(), llvm::MipsCallLowering::lowerFormalArguments(), LowerINTRINSIC_W_CHAIN(), MatchingStackOffset(), mayTailCallThisCC(), llvm::PPCFrameLowering::needsFP(), llvm::WebAssemblyFrameLowering::needsPrologForEH(), needsWinCFI(), llvm::MIPrinter::print(), llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized(), promoteToConstantPool(), llvm::ARMAsmPrinter::runOnMachineFunction(), llvm::AsmPrinter::SetupMachineFunction(), shouldLowerMemFuncForSize(), llvm::ARMSubtarget::splitFramePushPop(), trySequenceOfOnes(), llvm::DwarfCompileUnit::updateSubprogramScopeDIE(), verify(), VisitGlobalVariableForEmission(), and X86ChooseCmpImmediateOpcode().
unsigned MachineFunction::getTypeIDFor | ( | const GlobalValue * | TI | ) |
Return the type id for the specified typeinfo. This is function wide.
Definition at line 769 of file MachineFunction.cpp.
References N.
Referenced by addCatchTypeInfo(), addFilterTypeInfo(), and getUnderlyingArgReg().
|
inline |
Return a reference to the C++ typeinfo for the current function.
Definition at line 921 of file MachineFunction.h.
Referenced by llvm::EHStreamer::emitExceptionTable(), llvm::EHStreamer::emitTypeInfos(), and llvm::ARMException::endFunction().
|
inline |
Definition at line 939 of file MachineFunction.h.
Referenced by llvm::MIRPrinter::convertStackObjects(), and getStartOrEndSlot().
|
inline |
Definition at line 940 of file MachineFunction.h.
|
inline |
getWasmEHFuncInfo - Return information about how the current function uses Wasm exception handling.
Returns null for functions that don't use wasm exception handling.
Definition at line 485 of file MachineFunction.h.
Referenced by eraseDeadBBsAndChildren(), and llvm::FunctionLoweringInfo::set().
|
inline |
Definition at line 486 of file MachineFunction.h.
|
inline |
Get the index in wasm EH for a given landing pad.
Definition at line 877 of file MachineFunction.h.
References assert(), and llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::lookup().
Referenced by llvm::WasmException::computeCallSiteTable().
|
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 491 of file MachineFunction.h.
Referenced by AssignProtectedObjSet(), llvm::WinException::beginFunction(), getTryAncestor(), isFuncletReturnInstr(), isSortedByValueNo(), llvm::SelectionDAGBuilder::lowerInvokable(), MarkEHGuard(), MarkEHRegistrationNode(), llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized(), llvm::X86FrameLowering::processFunctionBeforeFrameFinalized(), and llvm::FunctionLoweringInfo::set().
|
inline |
Definition at line 492 of file MachineFunction.h.
Return true if the begin label has a call site number associated with it.
Definition at line 907 of file MachineFunction.h.
References llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::count().
Return true if the landing pad Eh symbol has an associated call site.
Definition at line 890 of file MachineFunction.h.
References llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::empty().
Referenced by llvm::ARMTargetLowering::ReplaceNodeResults().
|
inline |
Definition at line 812 of file MachineFunction.h.
Referenced by llvm::X86FrameLowering::assignCalleeSavedSpillSlots(), llvm::WinException::beginFunction(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitPrologue(), llvm::WinException::endFunclet(), llvm::WinException::endFunction(), llvm::AArch64RegisterInfo::hasBasePointer(), llvm::AArch64FrameLowering::hasFP(), llvm::X86FrameLowering::hasFP(), llvm::SelectionDAGBuilder::lowerInvokable(), needFuncLabelsForEHOrDebugInfo(), llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized(), llvm::X86FrameLowering::processFunctionBeforeFrameFinalized(), and llvm::AArch64FrameLowering::resolveFrameIndexReference().
|
inline |
Definition at line 809 of file MachineFunction.h.
Referenced by llvm::getEHScopeMembership().
|
inline |
Returns true if the function contains any inline assembly.
Definition at line 519 of file MachineFunction.h.
Referenced by llvm::CodeViewDebug::beginFunctionImpl(), emitBasicBlockLoopComments(), and llvm::PPCRegisterInfo::getReservedRegs().
|
inline |
Definition at line 815 of file MachineFunction.h.
Referenced by llvm::AArch64FrameLowering::hasFP().
|
inline |
Returns true if the landing pad has an associate index in wasm EH.
Definition at line 872 of file MachineFunction.h.
References llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::count().
Referenced by llvm::WasmException::computeCallSiteTable(), and llvm::WasmException::endFunction().
|
inline |
Definition at line 528 of file MachineFunction.h.
Referenced by llvm::WinException::beginFunction(), llvm::X86InstrInfo::canMakeTailCallConditional(), llvm::X86FrameLowering::emitEpilogue(), llvm::X86AsmPrinter::EmitInstruction(), llvm::MIRPrinter::print(), and printConstant().
|
inline |
Definition at line 640 of file MachineFunction.h.
References llvm::iplist_impl< IntrusiveListT, TraitsT >::insert().
Referenced by addExclusiveRegPair(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::analyzeArguments(), ComputeCommonTailLength(), createPHIsForCMOVsInSinkBB(), llvm::createX86RetpolineThunksPass(), llvm::PPCTargetLowering::EmitAtomicBinary(), emitBlockAfter(), emitClzero(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::AArch64TargetLowering::EmitF128CSEL(), llvm::BPFTargetLowering::EmitInstrWithCustomInserter(), llvm::RISCVTargetLowering::EmitInstrWithCustomInserter(), llvm::AVRTargetLowering::EmitInstrWithCustomInserter(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), emitPostSt(), llvm::MSP430TargetLowering::EmitShiftInstr(), emitXBegin(), llvm::SparcTargetLowering::expandSelectCC(), llvm::SelectionDAGBuilder::FindMergedConditions(), getRetpolineSymbol(), llvm::MipsTargetLowering::HandleByVal(), hasOneExitNode(), INITIALIZE_PASS(), llvm::X86FrameLowering::inlineStackProbe(), isFunctionEntryBlock(), isImmValidForOpcode(), isIntersect(), loadM0FromVGPR(), loadSRsrcFromVGPR(), LowerFPToInt(), makeImplicit(), packCmovGroup(), removeExternalCFGEdges(), llvm::ARMTargetLowering::ReplaceNodeResults(), split(), splitBlock(), llvm::MachineBasicBlock::SplitCriticalEdge(), llvm::SITargetLowering::splitKillBlock(), splitMBB(), toString(), trySequenceOfOnes(), and tryToElideArgumentCopy().
|
delete |
void MachineFunction::print | ( | raw_ostream & | OS, |
const SlotIndexes * | Indexes = nullptr |
||
) | const |
print - Print out the MachineFunction in a format suitable for debugging to the specified stream.
Definition at line 461 of file MachineFunction.cpp.
References E, getFunction(), getName(), getParent(), getProperties(), llvm::TargetSubtargetInfo::getRegisterInfo(), getSubtarget(), I, llvm::ModuleSlotTracker::incorporateFunction(), llvm::MachineRegisterInfo::livein_begin(), llvm::MachineRegisterInfo::livein_empty(), llvm::MachineRegisterInfo::livein_end(), llvm::MachineJumpTableInfo::print(), llvm::MachineFunctionProperties::print(), llvm::MachineFrameInfo::print(), llvm::printReg(), and TRI.
Referenced by llvm::MachineJumpTableInfo::dump(), llvm::MachineConstantPool::dump(), dump(), llvm::LiveIntervals::print(), usedAsAddr(), and verify().
|
inline |
Definition at line 638 of file MachineFunction.h.
References llvm::iplist_impl< IntrusiveListT, TraitsT >::push_back().
Referenced by llvm::createX86RetpolineThunksPass(), emitPostSt(), getRetpolineSymbol(), and llvm::FunctionLoweringInfo::set().
|
inline |
Definition at line 639 of file MachineFunction.h.
References llvm::iplist_impl< IntrusiveListT, TraitsT >::push_front().
Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), and llvm::X86FrameLowering::adjustForSegmentedStacks().
|
inline |
Definition at line 626 of file MachineFunction.h.
Referenced by INITIALIZE_PASS(), and MaySpeculate().
|
inline |
Definition at line 627 of file MachineFunction.h.
|
inline |
Definition at line 653 of file MachineFunction.h.
References llvm::iplist_impl< IntrusiveListT, TraitsT >::remove().
Referenced by llvm::MachineBasicBlock::removeFromParent().
|
inline |
Definition at line 654 of file MachineFunction.h.
References llvm::iplist_impl< IntrusiveListT, TraitsT >::remove().
|
inline |
removeFromMBBNumbering - Remove the specific machine basic block from our tracker, this is only really to be used by the MachineBasicBlock implementation.
Definition at line 684 of file MachineFunction.h.
References assert(), N, llvm::NotAtomic, Size, and llvm::SyncScope::System.
Referenced by llvm::printMBBReference().
|
inline |
Definition at line 628 of file MachineFunction.h.
Referenced by INITIALIZE_PASS().
|
inline |
Definition at line 629 of file MachineFunction.h.
void MachineFunction::RenumberBlocks | ( | MachineBasicBlock * | MBB = nullptr | ) |
RenumberBlocks - This discards all of the MachineBasicBlock numbers and recomputes them.
This discards all of the MachineBasicBlock numbers and recomputes them.
This guarantees that the MBB numbers are sequential, dense, and match the ordering of the blocks within the function. If a specific MachineBasicBlock is specified, only that block and those after it are renumbered.
Definition at line 281 of file MachineFunction.cpp.
References assert(), begin(), E, empty(), end(), and llvm::ilist_node_impl< OptionsT >::getIterator().
Referenced by CompareMBBNumbers(), INITIALIZE_PASS(), mergeOperations(), llvm::UnreachableBlockElimPass::run(), and SortBlocks().
|
inline |
Reset the instance as if it was just created.
Definition at line 402 of file MachineFunction.h.
References clear(), and llvm::cl::init().
|
inline |
Reset the currently registered delegate - otherwise assert.
Definition at line 408 of file MachineFunction.h.
References assert().
Referenced by llvm::RAIIDelegateInstaller::~RAIIDelegateInstaller().
|
inline |
setAlignment - Set the alignment (log2, not bytes) of the function.
Definition at line 498 of file MachineFunction.h.
References A.
Referenced by llvm::ARCFunctionInfo::ARCFunctionInfo(), llvm::MIRParserImpl::initializeMachineFunction(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
|
inline |
Definition at line 804 of file MachineFunction.h.
Referenced by getUnderlyingArgReg().
Map the begin label for a call site.
Definition at line 895 of file MachineFunction.h.
Referenced by llvm::SelectionDAGBuilder::lowerInvokable().
Map the landing pad's EH symbol to the call site indexes.
Definition at line 764 of file MachineFunction.cpp.
References llvm::ArrayRef< T >::begin(), and llvm::ArrayRef< T >::end().
Referenced by mapWasmLandingPadIndex().
|
inline |
Definition at line 807 of file MachineFunction.h.
Referenced by getUnderlyingArgReg().
|
inline |
Set the delegate.
resetDelegate must be called before attempting to set.
Definition at line 416 of file MachineFunction.h.
References assert().
Referenced by llvm::RAIIDelegateInstaller::RAIIDelegateInstaller().
|
inline |
setCallsSetJmp - Set a flag that indicates if there's a call to a "returns twice" function.
Definition at line 514 of file MachineFunction.h.
References B.
Referenced by llvm::MIRParserImpl::initializeMachineFunction().
|
inline |
Definition at line 813 of file MachineFunction.h.
Referenced by llvm::FunctionLoweringInfo::set().
|
inline |
Definition at line 810 of file MachineFunction.h.
Referenced by llvm::FunctionLoweringInfo::set().
|
inline |
Set a flag that indicates that the function contains inline assembly.
Definition at line 524 of file MachineFunction.h.
References B.
Referenced by llvm::SelectionDAGISel::runOnMachineFunction().
|
inline |
Definition at line 816 of file MachineFunction.h.
Referenced by getUnderlyingArgReg().
|
inline |
Definition at line 531 of file MachineFunction.h.
Referenced by llvm::AArch64FrameLowering::emitPrologue(), llvm::MIRParserImpl::initializeMachineFunction(), and llvm::X86FrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 447 of file MachineFunction.h.
References llvm::ARM_MB::ST.
Referenced by llvm::MipsTargetMachine::resetSubtarget().
|
inline |
Collect information used to emit debugging information of a variable.
Definition at line 934 of file MachineFunction.h.
References llvm::SmallVectorImpl< T >::emplace_back().
Referenced by llvm::MIRParserImpl::parseStackObjectsDebugInfo(), and processDbgDeclares().
|
inline |
Map the landing pad to its index. Used for Wasm exception handling.
Definition at line 867 of file MachineFunction.h.
Referenced by mapWasmLandingPadIndex().
bool MachineFunction::shouldSplitStack | ( | ) | const |
Should we be emitting segmented stack stuff for the function.
Definition at line 273 of file MachineFunction.cpp.
References getFunction(), and llvm::Function::hasFnAttribute().
Referenced by AssignProtectedObjSet(), createPHIsForCMOVsInSinkBB(), llvm::X86FrameLowering::emitPrologue(), llvm::X86FrameLowering::enableShrinkWrapping(), and isXor1OfSetCC().
|
inline |
Definition at line 631 of file MachineFunction.h.
Referenced by llvm::createX86RetpolineThunksPass(), getFPReg(), getJTISymbol(), getLayoutSuccessorProbThreshold(), isTerminalReg(), llvm::InstructionSelect::runOnMachineFunction(), llvm::Legalizer::runOnMachineFunction(), llvm::SlotIndexes::runOnMachineFunction(), llvm::GraphTraits< MachineFunction * >::size(), and llvm::GraphTraits< const MachineFunction * >::size().
|
inline |
Definition at line 659 of file MachineFunction.h.
Definition at line 643 of file MachineFunction.h.
References llvm::iplist_impl< IntrusiveListT, TraitsT >::splice().
Referenced by isFunctionEntryBlock(), llvm::MachineBasicBlock::moveAfter(), llvm::MachineBasicBlock::moveBefore(), and removeExternalCFGEdges().
|
inline |
Definition at line 646 of file MachineFunction.h.
References llvm::iplist_impl< IntrusiveListT, TraitsT >::splice().
Definition at line 649 of file MachineFunction.h.
References llvm::iplist_impl< IntrusiveListT, TraitsT >::splice().
void MachineFunction::tidyLandingPads | ( | DenseMap< MCSymbol *, uintptr_t > * | LPMap = nullptr , |
bool | TidyIfNoBeginLabels = true |
||
) |
Remap landing pad labels and remove any deleted landing pads.
Definition at line 694 of file MachineFunction.cpp.
References llvm::LandingPadInfo::BeginLabels, llvm::LandingPadInfo::EndLabels, llvm::MCSymbol::isDefined(), llvm::LandingPadInfo::LandingPadBlock, llvm::LandingPadInfo::LandingPadLabel, and llvm::LandingPadInfo::TypeIds.
Referenced by llvm::WinException::endFunction(), llvm::WasmException::markFunctionEnd(), and llvm::DwarfCFIExceptionBase::markFunctionEnd().
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.
Definition at line 326 of file MachineVerifier.cpp.
References llvm::LaneBitmask::any(), assert(), begin(), llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::clear(), llvm::BitVector::clear(), llvm::VNInfo::def, E, empty(), end(), llvm::errs(), llvm::MachineFunctionProperties::FailedISel, front(), llvm::Pass::getAnalysisIfAvailable(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::SlotIndexes::getInstructionIndex(), llvm::SlotIndexes::getMBBEndIdx(), llvm::SlotIndexes::getMBBStartIdx(), llvm::MachineBasicBlock::getName(), getName(), llvm::MachineRegisterInfo::getNumVirtRegs(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getParent(), llvm::MachineInstr::getParent(), getProperties(), getRegInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::TargetRegisterInfo::getReservedRegs(), llvm::MachineRegisterInfo::getReservedRegs(), getSubtarget(), getTarget(), llvm::SlotIndexes::hasIndex(), llvm::MachineFunctionProperties::hasProperty(), I, llvm::VNInfo::id, llvm::SlotIndex::isValid(), llvm::TargetRegisterInfo::isVirtualRegister(), llvm::SlotIndexes::MBBIndexBegin(), llvm::SlotIndexes::MBBIndexEnd(), MI, llvm::MachineFunctionProperties::NoVRegs, llvm::MachineBasicBlock::pred_begin(), llvm::MachineBasicBlock::pred_end(), llvm::MachineBasicBlock::pred_size(), llvm::MachineOperand::print(), llvm::LiveIntervals::print(), print(), llvm::MachineInstr::print(), llvm::PrintLaneMask(), llvm::printMBBReference(), llvm::printReg(), llvm::printRegUnit(), llvm::MachineFunctionProperties::RegBankSelected, llvm::report_fatal_error(), llvm::MachineRegisterInfo::reservedRegsFrozen(), llvm::MachineFunctionProperties::Selected, llvm::MachineBasicBlock::succ_begin(), llvm::MachineBasicBlock::succ_end(), llvm::MachineBasicBlock::succ_size(), verify, and llvm::MachineRegisterInfo::verifyUseLists().
Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::RegScavenger::forward(), hasVulnerableLoad(), llvm::MIRParserImpl::initializeMachineFunction(), isTerminalReg(), and verifyLeafProcRegUse().
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 540 of file MachineFunction.cpp.
References llvm::errs(), getName(), and ViewGraph().
void MachineFunction::viewCFGOnly | ( | ) | const |
viewCFGOnly - This function is meant for use from the debugger.
It works just like viewCFG, but it does not include the contents of basic blocks into the nodes, just the label. If you are only interested in the CFG this can make the graph smaller.
Definition at line 550 of file MachineFunction.cpp.
References llvm::errs(), getName(), and ViewGraph().
|
friend |
Definition at line 388 of file MachineFunction.h.
VariableDbgInfoMapTy llvm::MachineFunction::VariableDbgInfos |
Definition at line 392 of file MachineFunction.h.
Referenced by ~MachineFunction().