class MachineFunction
Declaration
class MachineFunction { /* full declaration omitted */ };
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:223
Member Variables
- public llvm::MachineFunction::VariableDbgInfoMapTy VariableDbgInfos
Method Overview
- public llvm::MachineInstr * CloneMachineInstr(const llvm::MachineInstr * Orig)
- public llvm::MachineInstr & CloneMachineInstrBundle(llvm::MachineBasicBlock & MBB, int InsertBefore, const llvm::MachineInstr & Orig)
- public llvm::MachineBasicBlock * CreateMachineBasicBlock(const llvm::BasicBlock * bb = nullptr)
- public llvm::MachineInstr * CreateMachineInstr(const llvm::MCInstrDesc & MCID, const llvm::DebugLoc & DL, bool NoImp = false)
- public void DeleteMachineBasicBlock(llvm::MachineBasicBlock * MBB)
- public void DeleteMachineInstr(llvm::MachineInstr * MI)
- public MachineFunction(const llvm::MachineFunction &)
- public MachineFunction(const llvm::Function & F, const llvm::LLVMTargetMachine & Target, const llvm::TargetSubtargetInfo & STI, unsigned int FunctionNum, llvm::MachineModuleInfo & MMI)
- public void RenumberBlocks(llvm::MachineBasicBlock * MBBFrom = nullptr)
- public void addCallArgsForwardingRegs(const llvm::MachineInstr * CallI, llvm::MachineFunction::CallSiteInfoImpl && CallInfo)
- public void addCatchTypeInfo(llvm::MachineBasicBlock * LandingPad, ArrayRef<const llvm::GlobalValue *> TyInfo)
- public void addCleanup(llvm::MachineBasicBlock * LandingPad)
- public void addCodeViewAnnotation(llvm::MCSymbol * Label, llvm::MDNode * MD)
- public void addFilterTypeInfo(llvm::MachineBasicBlock * LandingPad, ArrayRef<const llvm::GlobalValue *> TyInfo)
- public unsigned int addFrameInst(const llvm::MCCFIInstruction & Inst)
- public void addInvoke(llvm::MachineBasicBlock * LandingPad, llvm::MCSymbol * BeginLabel, llvm::MCSymbol * EndLabel)
- public llvm::MCSymbol * addLandingPad(llvm::MachineBasicBlock * LandingPad)
- public unsigned int addLiveIn(unsigned int PReg, const llvm::TargetRegisterClass * RC)
- public void addLongjmpTarget(llvm::MCSymbol * Target)
- public void addSEHCatchHandler(llvm::MachineBasicBlock * LandingPad, const llvm::Function * Filter, const llvm::BlockAddress * RecoverBA)
- public void addSEHCleanupHandler(llvm::MachineBasicBlock * LandingPad, const llvm::Function * Cleanup)
- public unsigned int addToMBBNumbering(llvm::MachineBasicBlock * MBB)
- public llvm::MachineOperand * allocateOperandArray(int Cap)
- public uint32_t * allocateRegMask()
- public ArrayRef<int> allocateShuffleMask(ArrayRef<int> Mask)
- public const llvm::MachineBasicBlock & back() const
- public llvm::MachineBasicBlock & back()
- public int begin() const
- public int begin()
- public bool callsEHReturn() const
- public bool callsUnwindInit() const
- public void copyCallSiteInfo(const llvm::MachineInstr * Old, const llvm::MachineInstr * New)
- public const char * createExternalSymbolName(llvm::StringRef Name)
- public MachineInstr::ExtraInfo * createMIExtraInfo(ArrayRef<llvm::MachineMemOperand *> MMOs, llvm::MCSymbol * PreInstrSymbol = nullptr, llvm::MCSymbol * PostInstrSymbol = nullptr, llvm::MDNode * HeapAllocMarker = nullptr)
- public void deallocateOperandArray(int Cap, llvm::MachineOperand * Array)
- public void dump() const
- public bool empty() const
- public int end()
- public int end() const
- public void ensureAlignment(llvm::Align A)
- public void erase(llvm::MachineBasicBlock * MBBI)
- public void erase(int MBBI)
- public void eraseCallSiteInfo(const llvm::MachineInstr * MI)
- public bool exposesReturnsTwice() const
- public llvm::MachineBasicBlock & front()
- public const llvm::MachineBasicBlock & front() const
- public llvm::Align getAlignment() const
- public llvm::MachineBasicBlock * getBlockNumbered(unsigned int N) const
- public unsigned int getCallSiteBeginLabel(llvm::MCSymbol * BeginLabel) const
- public SmallVectorImpl<unsigned int> & getCallSiteLandingPad(llvm::MCSymbol * Sym)
- public const int & getCallSitesInfo() const
- public ArrayRef<std::pair<MCSymbol *, MDNode *>> getCodeViewAnnotations() const
- public const llvm::MachineConstantPool * getConstantPool() const
- public llvm::MachineConstantPool * getConstantPool()
- public llvm::MCContext & getContext() const
- public const llvm::DataLayout & getDataLayout() const
- public llvm::DenormalMode getDenormalMode(const llvm::fltSemantics & FPType) const
- public int getFilterIDFor(int & TyIds)
- public const int & getFilterIds() const
- public const llvm::MachineFrameInfo & getFrameInfo() const
- public llvm::MachineFrameInfo & getFrameInfo()
- public const int & getFrameInstructions() const
- public const llvm::Function & getFunction() const
- public unsigned int getFunctionNumber() const
- public template <typename Ty>const Ty * getInfo() const
- public template <typename Ty>Ty * getInfo()
- public unsigned int getInstructionCount() const
- public llvm::MCSymbol * getJTISymbol(unsigned int JTI, llvm::MCContext & Ctx, bool isLinkerPrivate = false) const
- public llvm::MachineJumpTableInfo * getJumpTableInfo()
- public const llvm::MachineJumpTableInfo * getJumpTableInfo() const
- public const int & getLandingPads() const
- public const int & getLongjmpTargets() const
- public llvm::MachineModuleInfo & getMMI() const
- public llvm::MachineMemOperand * getMachineMemOperand(const llvm::MachineMemOperand * MMO, const llvm::AAMDNodes & AAInfo)
- public llvm::MachineMemOperand * getMachineMemOperand(const llvm::MachineMemOperand * MMO, int64_t Offset, uint64_t Size)
- public llvm::MachineMemOperand * getMachineMemOperand(llvm::MachinePointerInfo PtrInfo, MachineMemOperand::Flags f, uint64_t s, unsigned int base_alignment, const llvm::AAMDNodes & AAInfo = llvm::AAMDNodes(), const llvm::MDNode * Ranges = nullptr, SyncScope::ID SSID = SyncScope::System, llvm::AtomicOrdering Ordering = AtomicOrdering::NotAtomic, llvm::AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic)
- public llvm::MachineMemOperand * getMachineMemOperand(const llvm::MachineMemOperand * MMO, MachineMemOperand::Flags Flags)
- public llvm::StringRef getName() const
- public unsigned int getNumBlockIDs() const
- public llvm::MachineJumpTableInfo * getOrCreateJumpTableInfo(unsigned int JTEntryKind)
- public llvm::LandingPadInfo & getOrCreateLandingPadInfo(llvm::MachineBasicBlock * LandingPad)
- public llvm::MCSymbol * getPICBaseSymbol() const
- public llvm::PseudoSourceValueManager & getPSVManager() const
- public llvm::MachineFunctionProperties & getProperties()
- public const llvm::MachineFunctionProperties & getProperties() const
- public llvm::MachineRegisterInfo & getRegInfo()
- public const llvm::MachineRegisterInfo & getRegInfo() const
- public static int llvm::MachineFunction::* getSublistAccess(llvm::MachineBasicBlock *)
- public template <typename STC>const STC & getSubtarget() const
- public const llvm::TargetSubtargetInfo & getSubtarget() const
- public const llvm::LLVMTargetMachine & getTarget() const
- public unsigned int getTypeIDFor(const llvm::GlobalValue * TI)
- public const int & getTypeInfos() const
- public const llvm::MachineFunction::VariableDbgInfoMapTy & getVariableDbgInfo() const
- public llvm::MachineFunction::VariableDbgInfoMapTy & getVariableDbgInfo()
- public const llvm::WasmEHFuncInfo * getWasmEHFuncInfo() const
- public llvm::WasmEHFuncInfo * getWasmEHFuncInfo()
- public unsigned int getWasmLandingPadIndex(const llvm::MachineBasicBlock * LPad) const
- public llvm::WinEHFuncInfo * getWinEHFuncInfo()
- public const llvm::WinEHFuncInfo * getWinEHFuncInfo() const
- public bool hasCallSiteBeginLabel(llvm::MCSymbol * BeginLabel) const
- public bool hasCallSiteLandingPad(llvm::MCSymbol * Sym)
- public bool hasEHFunclets() const
- public bool hasEHScopes() const
- public bool hasInlineAsm() const
- public bool hasWasmLandingPadIndex(const llvm::MachineBasicBlock * LPad) const
- public bool hasWinCFI() const
- public void insert(int MBBI, llvm::MachineBasicBlock * MBB)
- public void moveCallSiteInfo(const llvm::MachineInstr * Old, const llvm::MachineInstr * New)
- public bool needsFrameMoves() const
- public void print(llvm::raw_ostream & OS, const llvm::SlotIndexes * = nullptr) const
- public void push_back(llvm::MachineBasicBlock * MBB)
- public void push_front(llvm::MachineBasicBlock * MBB)
- public int rbegin()
- public int rbegin() const
- public void remove(llvm::MachineBasicBlock * MBBI)
- public void remove(int MBBI)
- public void removeFromMBBNumbering(unsigned int N)
- public int rend()
- public int rend() const
- public void reset()
- public void resetDelegate(llvm::MachineFunction::Delegate * delegate)
- public void setAlignment(llvm::Align A)
- public void setCallSiteBeginLabel(llvm::MCSymbol * BeginLabel, unsigned int Site)
- public void setCallSiteLandingPad(llvm::MCSymbol * Sym, ArrayRef<unsigned int> Sites)
- public void setCallsEHReturn(bool b)
- public void setCallsUnwindInit(bool b)
- public void setDelegate(llvm::MachineFunction::Delegate * delegate)
- public void setExposesReturnsTwice(bool B)
- public void setHasEHFunclets(bool V)
- public void setHasEHScopes(bool V)
- public void setHasInlineAsm(bool B)
- public void setHasWinCFI(bool v)
- public void setVariableDbgInfo(const llvm::DILocalVariable * Var, const llvm::DIExpression * Expr, int Slot, const llvm::DILocation * Loc)
- public void setWasmLandingPadIndex(const llvm::MachineBasicBlock * LPad, unsigned int Index)
- public bool shouldSplitStack() const
- public unsigned int size() const
- public template <typename Comp>void sort(Comp comp)
- public void splice(int InsertPt, int MBBI)
- public void splice(int InsertPt, llvm::MachineBasicBlock * MBB)
- public void splice(int InsertPt, int MBBI, int MBBE)
- public void tidyLandingPads(int * LPMap = nullptr, bool TidyIfNoBeginLabels = true)
- public bool verify(llvm::Pass * p = nullptr, const char * Banner = nullptr, bool AbortOnError = true) const
- public void viewCFG() const
- public void viewCFGOnly() const
- public ~MachineFunction()
Methods
¶llvm::MachineInstr* CloneMachineInstr(
const llvm::MachineInstr* Orig)
llvm::MachineInstr* CloneMachineInstr(
const llvm::MachineInstr* Orig)
Description
Create a new MachineInstr which is a copy of \p Orig, 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.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:731
Parameters
- const llvm::MachineInstr* Orig
¶llvm::MachineInstr& CloneMachineInstrBundle(
llvm::MachineBasicBlock& MBB,
int InsertBefore,
const llvm::MachineInstr& Orig)
llvm::MachineInstr& CloneMachineInstrBundle(
llvm::MachineBasicBlock& MBB,
int InsertBefore,
const llvm::MachineInstr& Orig)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:738
Parameters
- llvm::MachineBasicBlock& MBB
- int InsertBefore
- const llvm::MachineInstr& Orig
¶llvm::MachineBasicBlock* CreateMachineBasicBlock(
const llvm::BasicBlock* bb = nullptr)
llvm::MachineBasicBlock* CreateMachineBasicBlock(
const llvm::BasicBlock* bb = nullptr)
Description
CreateMachineBasicBlock - Allocate a new MachineBasicBlock. Use this instead of `new MachineBasicBlock'.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:746
Parameters
- const llvm::BasicBlock* bb = nullptr
¶llvm::MachineInstr* CreateMachineInstr(
const llvm::MCInstrDesc& MCID,
const llvm::DebugLoc& DL,
bool NoImp = false)
llvm::MachineInstr* CreateMachineInstr(
const llvm::MCInstrDesc& MCID,
const llvm::DebugLoc& DL,
bool NoImp = false)
Description
CreateMachineInstr - Allocate a new MachineInstr. Use this instead of `new MachineInstr'.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:721
Parameters
- const llvm::MCInstrDesc& MCID
- const llvm::DebugLoc& DL
- bool NoImp = false
¶void DeleteMachineBasicBlock(
llvm::MachineBasicBlock* MBB)
void DeleteMachineBasicBlock(
llvm::MachineBasicBlock* MBB)
Description
DeleteMachineBasicBlock - Delete the given MachineBasicBlock.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:749
Parameters
¶void DeleteMachineInstr(llvm::MachineInstr* MI)
void DeleteMachineInstr(llvm::MachineInstr* MI)
Description
DeleteMachineInstr - Delete the given MachineInstr.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:742
Parameters
¶MachineFunction(const llvm::MachineFunction&)
MachineFunction(const llvm::MachineFunction&)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:420
Parameters
- const llvm::MachineFunction&
¶MachineFunction(
const llvm::Function& F,
const llvm::LLVMTargetMachine& Target,
const llvm::TargetSubtargetInfo& STI,
unsigned int FunctionNum,
llvm::MachineModuleInfo& MMI)
MachineFunction(
const llvm::Function& F,
const llvm::LLVMTargetMachine& Target,
const llvm::TargetSubtargetInfo& STI,
unsigned int FunctionNum,
llvm::MachineModuleInfo& MMI)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:417
Parameters
- const llvm::Function& F
- const llvm::LLVMTargetMachine& Target
- const llvm::TargetSubtargetInfo& STI
- unsigned int FunctionNum
- llvm::MachineModuleInfo& MMI
¶void RenumberBlocks(
llvm::MachineBasicBlock* MBBFrom = nullptr)
void RenumberBlocks(
llvm::MachineBasicBlock* MBBFrom = nullptr)
Description
RenumberBlocks - 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.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:603
Parameters
- llvm::MachineBasicBlock* MBBFrom = nullptr
¶void addCallArgsForwardingRegs(
const llvm::MachineInstr* CallI,
llvm::MachineFunction::CallSiteInfoImpl&&
CallInfo)
void addCallArgsForwardingRegs(
const llvm::MachineInstr* CallI,
llvm::MachineFunction::CallSiteInfoImpl&&
CallInfo)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:986
Parameters
- const llvm::MachineInstr* CallI
- llvm::MachineFunction::CallSiteInfoImpl&& CallInfo
¶void addCatchTypeInfo(
llvm::MachineBasicBlock* LandingPad,
ArrayRef<const llvm::GlobalValue*> TyInfo)
void addCatchTypeInfo(
llvm::MachineBasicBlock* LandingPad,
ArrayRef<const llvm::GlobalValue*> TyInfo)
Description
Provide the catch typeinfo for a landing pad.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:883
Parameters
- llvm::MachineBasicBlock* LandingPad
- ArrayRef<const llvm::GlobalValue*> TyInfo
¶void addCleanup(
llvm::MachineBasicBlock* LandingPad)
void addCleanup(
llvm::MachineBasicBlock* LandingPad)
Description
Add a cleanup action for a landing pad.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:891
Parameters
- llvm::MachineBasicBlock* LandingPad
¶void addCodeViewAnnotation(llvm::MCSymbol* Label,
llvm::MDNode* MD)
void addCodeViewAnnotation(llvm::MCSymbol* Label,
llvm::MDNode* MD)
Description
Record annotations associated with a particular label.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:954
Parameters
- llvm::MCSymbol* Label
- llvm::MDNode* MD
¶void addFilterTypeInfo(
llvm::MachineBasicBlock* LandingPad,
ArrayRef<const llvm::GlobalValue*> TyInfo)
void addFilterTypeInfo(
llvm::MachineBasicBlock* LandingPad,
ArrayRef<const llvm::GlobalValue*> TyInfo)
Description
Provide the filter typeinfo for a landing pad.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:887
Parameters
- llvm::MachineBasicBlock* LandingPad
- ArrayRef<const llvm::GlobalValue*> TyInfo
¶unsigned int addFrameInst(
const llvm::MCCFIInstruction& Inst)
unsigned int addFrameInst(
const llvm::MCCFIInstruction& Inst)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:832
Parameters
- const llvm::MCCFIInstruction& Inst
¶void addInvoke(
llvm::MachineBasicBlock* LandingPad,
llvm::MCSymbol* BeginLabel,
llvm::MCSymbol* EndLabel)
void addInvoke(
llvm::MachineBasicBlock* LandingPad,
llvm::MCSymbol* BeginLabel,
llvm::MCSymbol* EndLabel)
Description
Provide the begin and end labels of an invoke style call and associate it with a try landing pad block.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:874
Parameters
- llvm::MachineBasicBlock* LandingPad
- llvm::MCSymbol* BeginLabel
- llvm::MCSymbol* EndLabel
¶llvm::MCSymbol* addLandingPad(
llvm::MachineBasicBlock* LandingPad)
llvm::MCSymbol* addLandingPad(
llvm::MachineBasicBlock* LandingPad)
Description
Add a new panding pad, and extract the exception handling information from the landingpad instruction. Returns the label ID for the landing pad entry.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:880
Parameters
- llvm::MachineBasicBlock* LandingPad
¶unsigned int addLiveIn(
unsigned int PReg,
const llvm::TargetRegisterClass* RC)
unsigned int addLiveIn(
unsigned int PReg,
const llvm::TargetRegisterClass* RC)
Description
addLiveIn - Add the specified physical register as a live-in value and create a corresponding virtual register for it.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:646
Parameters
- unsigned int PReg
- const llvm::TargetRegisterClass* RC
¶void addLongjmpTarget(llvm::MCSymbol* Target)
void addLongjmpTarget(llvm::MCSymbol* Target)
Description
Add the specified symbol to the list of valid longjmp targets for Windows Control Flow Guard.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:843
Parameters
- llvm::MCSymbol* Target
¶void addSEHCatchHandler(
llvm::MachineBasicBlock* LandingPad,
const llvm::Function* Filter,
const llvm::BlockAddress* RecoverBA)
void addSEHCatchHandler(
llvm::MachineBasicBlock* LandingPad,
const llvm::Function* Filter,
const llvm::BlockAddress* RecoverBA)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:893
Parameters
- llvm::MachineBasicBlock* LandingPad
- const llvm::Function* Filter
- const llvm::BlockAddress* RecoverBA
¶void addSEHCleanupHandler(
llvm::MachineBasicBlock* LandingPad,
const llvm::Function* Cleanup)
void addSEHCleanupHandler(
llvm::MachineBasicBlock* LandingPad,
const llvm::Function* Cleanup)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:896
Parameters
- llvm::MachineBasicBlock* LandingPad
- const llvm::Function* Cleanup
¶unsigned int addToMBBNumbering(
llvm::MachineBasicBlock* MBB)
unsigned int addToMBBNumbering(
llvm::MachineBasicBlock* MBB)
Description
Adds the MBB to the internal numbering. Returns the unique number assigned to the MBB.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:706
Parameters
¶llvm::MachineOperand* allocateOperandArray(
int Cap)
llvm::MachineOperand* allocateOperandArray(
int Cap)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:785
Parameters
- int Cap
¶uint32_t* allocateRegMask()
uint32_t* allocateRegMask()
Description
Allocate and initialize a register mask with @p NumRegister bits.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:797
¶ArrayRef<int> allocateShuffleMask(
ArrayRef<int> Mask)
ArrayRef<int> allocateShuffleMask(
ArrayRef<int> Mask)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:799
Parameters
- ArrayRef<int> Mask
¶const llvm::MachineBasicBlock& back() const
const llvm::MachineBasicBlock& back() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:665
¶llvm::MachineBasicBlock& back()
llvm::MachineBasicBlock& back()
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:666
¶int begin() const
int begin() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:652
¶int begin()
int begin()
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:651
¶bool callsEHReturn() const
bool callsEHReturn() const
Description
\ {
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:848
¶bool callsUnwindInit() const
bool callsUnwindInit() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:851
¶void copyCallSiteInfo(
const llvm::MachineInstr* Old,
const llvm::MachineInstr* New)
void copyCallSiteInfo(
const llvm::MachineInstr* Old,
const llvm::MachineInstr* New)
Description
Copy the call site info from \p Old to \ New. Its usage is when we are making a copy of the instruction that will be inserted at different point of the instruction stream.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:1012
Parameters
- const llvm::MachineInstr* Old
- const llvm::MachineInstr* New
¶const char* createExternalSymbolName(
llvm::StringRef Name)
const char* createExternalSymbolName(
llvm::StringRef Name)
Description
Allocate a string and populate it with the given external symbol name.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:810
Parameters
- llvm::StringRef Name
¶MachineInstr::ExtraInfo* createMIExtraInfo(
ArrayRef<llvm::MachineMemOperand*> MMOs,
llvm::MCSymbol* PreInstrSymbol = nullptr,
llvm::MCSymbol* PostInstrSymbol = nullptr,
llvm::MDNode* HeapAllocMarker = nullptr)
MachineInstr::ExtraInfo* createMIExtraInfo(
ArrayRef<llvm::MachineMemOperand*> MMOs,
llvm::MCSymbol* PreInstrSymbol = nullptr,
llvm::MCSymbol* PostInstrSymbol = nullptr,
llvm::MDNode* HeapAllocMarker = nullptr)
Description
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.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:805
Parameters
- ArrayRef<llvm::MachineMemOperand*> MMOs
- llvm::MCSymbol* PreInstrSymbol = nullptr
- llvm::MCSymbol* PostInstrSymbol = nullptr
- llvm::MDNode* HeapAllocMarker = nullptr
¶void deallocateOperandArray(
int Cap,
llvm::MachineOperand* Array)
void deallocateOperandArray(
int Cap,
llvm::MachineOperand* Array)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:792
Parameters
- int Cap
- llvm::MachineOperand* Array
¶void dump() const
void dump() const
Description
dump - Print the current MachineFunction to cerr, useful for debugger use.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:624
¶bool empty() const
bool empty() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:662
¶int end()
int end()
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:653
¶int end() const
int end() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:654
¶void ensureAlignment(llvm::Align A)
void ensureAlignment(llvm::Align A)
Description
ensureAlignment - Make sure the function is at least A bytes aligned.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:523
Parameters
¶void erase(llvm::MachineBasicBlock* MBBI)
void erase(llvm::MachineBasicBlock* MBBI)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:686
Parameters
- llvm::MachineBasicBlock* MBBI
¶void erase(int MBBI)
void erase(int MBBI)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:685
Parameters
- int MBBI
¶void eraseCallSiteInfo(
const llvm::MachineInstr* MI)
void eraseCallSiteInfo(
const llvm::MachineInstr* MI)
Description
Erase the call site info for \p MI. It is used to remove a call instruction from the instruction stream.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:1007
Parameters
- const llvm::MachineInstr* MI
¶bool exposesReturnsTwice() const
bool exposesReturnsTwice() const
Description
exposesReturnsTwice - Returns true if the function calls setjmp or any other similar functions with attribute "returns twice" without having the attribute itself.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:531
¶llvm::MachineBasicBlock& front()
llvm::MachineBasicBlock& front()
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:664
¶const llvm::MachineBasicBlock& front() const
const llvm::MachineBasicBlock& front() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:663
¶llvm::Align getAlignment() const
llvm::Align getAlignment() const
Description
getAlignment - Return the alignment of the function.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:517
¶llvm::MachineBasicBlock* getBlockNumbered(
unsigned int N) const
llvm::MachineBasicBlock* getBlockNumbered(
unsigned int N) const
Description
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.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:586
Parameters
- unsigned int N
¶unsigned int getCallSiteBeginLabel(
llvm::MCSymbol* BeginLabel) const
unsigned int getCallSiteBeginLabel(
llvm::MCSymbol* BeginLabel) const
Description
Get the call site number for a begin label.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:942
Parameters
- llvm::MCSymbol* BeginLabel
¶SmallVectorImpl<unsigned int>&
getCallSiteLandingPad(llvm::MCSymbol* Sym)
SmallVectorImpl<unsigned int>&
getCallSiteLandingPad(llvm::MCSymbol* Sym)
Description
Get the call site indexes for a landing pad EH symbol.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:925
Parameters
- llvm::MCSymbol* Sym
¶const int& getCallSitesInfo() const
const int& getCallSitesInfo() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:992
¶ArrayRef<std::pair<MCSymbol*, MDNode*>>
getCodeViewAnnotations() const
ArrayRef<std::pair<MCSymbol*, MDNode*>>
getCodeViewAnnotations() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:958
¶const llvm::MachineConstantPool* getConstantPool()
const
const llvm::MachineConstantPool* getConstantPool()
const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:502
¶llvm::MachineConstantPool* getConstantPool()
llvm::MachineConstantPool* getConstantPool()
Description
getConstantPool - Return the constant pool object for the current function.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:501
¶llvm::MCContext& getContext() const
llvm::MCContext& getContext() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:448
¶const llvm::DataLayout& getDataLayout() const
const llvm::DataLayout& getDataLayout() const
Description
Return the DataLayout attached to the Module associated to this MF.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:453
¶llvm::DenormalMode getDenormalMode(
const llvm::fltSemantics& FPType) const
llvm::DenormalMode getDenormalMode(
const llvm::fltSemantics& FPType) const
Description
Returns the denormal handling type for the default rounding mode of the function.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:580
Parameters
- const llvm::fltSemantics& FPType
¶int getFilterIDFor(int& TyIds)
int getFilterIDFor(int& TyIds)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:903
Parameters
- int& TyIds
¶const int& getFilterIds() const
const int& getFilterIds() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:969
¶const llvm::MachineFrameInfo& getFrameInfo() const
const llvm::MachineFrameInfo& getFrameInfo() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:486
¶llvm::MachineFrameInfo& getFrameInfo()
llvm::MachineFrameInfo& getFrameInfo()
Description
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.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:485
¶const int& getFrameInstructions() const
const int& getFrameInstructions() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:828
¶const llvm::Function& getFunction() const
const llvm::Function& getFunction() const
Description
Return the LLVM function that this machine code represents
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:456
¶unsigned int getFunctionNumber() const
unsigned int getFunctionNumber() const
Description
getFunctionNumber - Return a unique ID for the current function.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:462
¶template <typename Ty>
const Ty* getInfo() const
template <typename Ty>
const Ty* getInfo() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:574
Templates
- Ty
¶template <typename Ty>
Ty* getInfo()
template <typename Ty>
Ty* getInfo()
Description
getInfo - Keep track of various per-function pieces of information for backends that would like to do so.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:567
Templates
- Ty
¶unsigned int getInstructionCount() const
unsigned int getInstructionCount() const
Description
Return the number of \p MachineInstrs in this \p MachineFunction.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:694
¶llvm::MCSymbol* getJTISymbol(
unsigned int JTI,
llvm::MCContext& Ctx,
bool isLinkerPrivate = false) const
llvm::MCSymbol* getJTISymbol(
unsigned int JTI,
llvm::MCContext& Ctx,
bool isLinkerPrivate = false) const
Description
getJTISymbol - 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.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:818
Parameters
- unsigned int JTI
- llvm::MCContext& Ctx
- bool isLinkerPrivate = false
¶llvm::MachineJumpTableInfo* getJumpTableInfo()
llvm::MachineJumpTableInfo* getJumpTableInfo()
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:493
¶const llvm::MachineJumpTableInfo*
getJumpTableInfo() const
const llvm::MachineJumpTableInfo*
getJumpTableInfo() const
Description
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.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:492
¶const int& getLandingPads() const
const int& getLandingPads() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:868
¶const int& getLongjmpTargets() const
const int& getLongjmpTargets() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:837
¶llvm::MachineModuleInfo& getMMI() const
llvm::MachineModuleInfo& getMMI() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:447
¶llvm::MachineMemOperand* getMachineMemOperand(
const llvm::MachineMemOperand* MMO,
const llvm::AAMDNodes& AAInfo)
llvm::MachineMemOperand* getMachineMemOperand(
const llvm::MachineMemOperand* MMO,
const llvm::AAMDNodes& AAInfo)
Description
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.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:772
Parameters
- const llvm::MachineMemOperand* MMO
- const llvm::AAMDNodes& AAInfo
¶llvm::MachineMemOperand* getMachineMemOperand(
const llvm::MachineMemOperand* MMO,
int64_t Offset,
uint64_t Size)
llvm::MachineMemOperand* getMachineMemOperand(
const llvm::MachineMemOperand* MMO,
int64_t Offset,
uint64_t Size)
Description
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.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:766
Parameters
- const llvm::MachineMemOperand* MMO
- int64_t Offset
- uint64_t Size
¶llvm::MachineMemOperand* getMachineMemOperand(
llvm::MachinePointerInfo PtrInfo,
MachineMemOperand::Flags f,
uint64_t s,
unsigned int base_alignment,
const llvm::AAMDNodes& AAInfo =
llvm::AAMDNodes(),
const llvm::MDNode* Ranges = nullptr,
SyncScope::ID SSID = SyncScope::System,
llvm::AtomicOrdering Ordering =
AtomicOrdering::NotAtomic,
llvm::AtomicOrdering FailureOrdering =
AtomicOrdering::NotAtomic)
llvm::MachineMemOperand* getMachineMemOperand(
llvm::MachinePointerInfo PtrInfo,
MachineMemOperand::Flags f,
uint64_t s,
unsigned int base_alignment,
const llvm::AAMDNodes& AAInfo =
llvm::AAMDNodes(),
const llvm::MDNode* Ranges = nullptr,
SyncScope::ID SSID = SyncScope::System,
llvm::AtomicOrdering Ordering =
AtomicOrdering::NotAtomic,
llvm::AtomicOrdering FailureOrdering =
AtomicOrdering::NotAtomic)
Description
getMachineMemOperand - Allocate a new MachineMemOperand. MachineMemOperands are owned by the MachineFunction and need not be explicitly deallocated.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:754
Parameters
- llvm::MachinePointerInfo PtrInfo
- MachineMemOperand::Flags f
- uint64_t s
- unsigned int base_alignment
- const llvm::AAMDNodes& AAInfo = llvm::AAMDNodes()
- const llvm::MDNode* Ranges = nullptr
- SyncScope::ID SSID = SyncScope::System
- llvm::AtomicOrdering Ordering = AtomicOrdering::NotAtomic
- llvm::AtomicOrdering FailureOrdering = AtomicOrdering::NotAtomic
¶llvm::MachineMemOperand* getMachineMemOperand(
const llvm::MachineMemOperand* MMO,
MachineMemOperand::Flags Flags)
llvm::MachineMemOperand* getMachineMemOperand(
const llvm::MachineMemOperand* MMO,
MachineMemOperand::Flags Flags)
Description
Allocate a new MachineMemOperand by copying an existing one, replacing the flags. MachineMemOperands are owned by the MachineFunction and need not be explicitly deallocated.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:778
Parameters
- const llvm::MachineMemOperand* MMO
- MachineMemOperand::Flags Flags
¶llvm::StringRef getName() const
llvm::StringRef getName() const
Description
getName - Return the name of the corresponding LLVM function.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:459
¶unsigned int getNumBlockIDs() const
unsigned int getNumBlockIDs() const
Description
getNumBlockIDs - Return the number of MBB ID's allocated.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:596
¶llvm::MachineJumpTableInfo*
getOrCreateJumpTableInfo(unsigned int JTEntryKind)
llvm::MachineJumpTableInfo*
getOrCreateJumpTableInfo(unsigned int JTEntryKind)
Description
getOrCreateJumpTableInfo - Get the JumpTableInfo for this function, if it does already exist, allocate one.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:497
Parameters
- unsigned int JTEntryKind
¶llvm::LandingPadInfo& getOrCreateLandingPadInfo(
llvm::MachineBasicBlock* LandingPad)
llvm::LandingPadInfo& getOrCreateLandingPadInfo(
llvm::MachineBasicBlock* LandingPad)
Description
Find or create an LandingPadInfo for the specified MachineBasicBlock.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:861
Parameters
- llvm::MachineBasicBlock* LandingPad
¶llvm::MCSymbol* getPICBaseSymbol() const
llvm::MCSymbol* getPICBaseSymbol() const
Description
getPICBaseSymbol - Return a function-local symbol to represent the PIC base.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:823
¶llvm::PseudoSourceValueManager& getPSVManager()
const
llvm::PseudoSourceValueManager& getPSVManager()
const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:450
¶llvm::MachineFunctionProperties& getProperties()
llvm::MachineFunctionProperties& getProperties()
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:561
¶const llvm::MachineFunctionProperties&
getProperties() const
const llvm::MachineFunctionProperties&
getProperties() const
Description
Get the function properties
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:560
¶llvm::MachineRegisterInfo& getRegInfo()
llvm::MachineRegisterInfo& getRegInfo()
Description
getRegInfo - Return information about the registers currently in use.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:479
¶const llvm::MachineRegisterInfo& getRegInfo()
const
const llvm::MachineRegisterInfo& getRegInfo()
const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:480
¶static int llvm::MachineFunction::*
getSublistAccess(llvm::MachineBasicBlock*)
static int llvm::MachineFunction::*
getSublistAccess(llvm::MachineBasicBlock*)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:640
Parameters
¶template <typename STC>
const STC& getSubtarget() const
template <typename STC>
const STC& getSubtarget() const
Description
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.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:474
Templates
- STC
¶const llvm::TargetSubtargetInfo& getSubtarget()
const
const llvm::TargetSubtargetInfo& getSubtarget()
const
Description
getSubtarget - Return the subtarget for which this machine code is being compiled.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:469
¶const llvm::LLVMTargetMachine& getTarget() const
const llvm::LLVMTargetMachine& getTarget() const
Description
getTarget - Return the target machine this machine code is compiled with
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:465
¶unsigned int getTypeIDFor(
const llvm::GlobalValue* TI)
unsigned int getTypeIDFor(
const llvm::GlobalValue* TI)
Description
Return the type id for the specified typeinfo. This is function wide.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:900
Parameters
- const llvm::GlobalValue* TI
¶const int& getTypeInfos() const
const int& getTypeInfos() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:963
¶const llvm::MachineFunction::VariableDbgInfoMapTy&
getVariableDbgInfo() const
const llvm::MachineFunction::VariableDbgInfoMapTy&
getVariableDbgInfo() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:982
¶llvm::MachineFunction::VariableDbgInfoMapTy&
getVariableDbgInfo()
llvm::MachineFunction::VariableDbgInfoMapTy&
getVariableDbgInfo()
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:981
¶const llvm::WasmEHFuncInfo* getWasmEHFuncInfo()
const
const llvm::WasmEHFuncInfo* getWasmEHFuncInfo()
const
Description
getWasmEHFuncInfo - Return information about how the current function uses Wasm exception handling. Returns null for functions that don't use wasm exception handling.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:507
¶llvm::WasmEHFuncInfo* getWasmEHFuncInfo()
llvm::WasmEHFuncInfo* getWasmEHFuncInfo()
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:508
¶unsigned int getWasmLandingPadIndex(
const llvm::MachineBasicBlock* LPad) const
unsigned int getWasmLandingPadIndex(
const llvm::MachineBasicBlock* LPad) const
Description
Get the index in wasm EH for a given landing pad.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:919
Parameters
- const llvm::MachineBasicBlock* LPad
¶llvm::WinEHFuncInfo* getWinEHFuncInfo()
llvm::WinEHFuncInfo* getWinEHFuncInfo()
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:514
¶const llvm::WinEHFuncInfo* getWinEHFuncInfo()
const
const llvm::WinEHFuncInfo* getWinEHFuncInfo()
const
Description
getWinEHFuncInfo - Return information about how the current function uses Windows exception handling. Returns null for functions that don't use funclets for exception handling.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:513
¶bool hasCallSiteBeginLabel(
llvm::MCSymbol* BeginLabel) const
bool hasCallSiteBeginLabel(
llvm::MCSymbol* BeginLabel) const
Description
Return true if the begin label has a call site number associated with it.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:949
Parameters
- llvm::MCSymbol* BeginLabel
¶bool hasCallSiteLandingPad(llvm::MCSymbol* Sym)
bool hasCallSiteLandingPad(llvm::MCSymbol* Sym)
Description
Return true if the landing pad Eh symbol has an associated call site.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:932
Parameters
- llvm::MCSymbol* Sym
¶bool hasEHFunclets() const
bool hasEHFunclets() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:857
¶bool hasEHScopes() const
bool hasEHScopes() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:854
¶bool hasInlineAsm() const
bool hasInlineAsm() const
Description
Returns true if the function contains any inline assembly.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:542
¶bool hasWasmLandingPadIndex(
const llvm::MachineBasicBlock* LPad) const
bool hasWasmLandingPadIndex(
const llvm::MachineBasicBlock* LPad) const
Description
Returns true if the landing pad has an associate index in wasm EH.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:914
Parameters
- const llvm::MachineBasicBlock* LPad
¶bool hasWinCFI() const
bool hasWinCFI() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:551
¶void insert(int MBBI,
llvm::MachineBasicBlock* MBB)
void insert(int MBBI,
llvm::MachineBasicBlock* MBB)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:670
Parameters
- int MBBI
- llvm::MachineBasicBlock* MBB
¶void moveCallSiteInfo(
const llvm::MachineInstr* Old,
const llvm::MachineInstr* New)
void moveCallSiteInfo(
const llvm::MachineInstr* Old,
const llvm::MachineInstr* New)
Description
Move the call site info from \p Old to \Newcall site info. This function is used when we are replacing one call instruction with another one to the same callee.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:1002
Parameters
- const llvm::MachineInstr* Old
- const llvm::MachineInstr* New
¶bool needsFrameMoves() const
bool needsFrameMoves() const
Description
True if this function needs frame moves for debug or exceptions.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:557
¶void print(
llvm::raw_ostream& OS,
const llvm::SlotIndexes* = nullptr) const
void print(
llvm::raw_ostream& OS,
const llvm::SlotIndexes* = nullptr) const
Description
print - Print out the MachineFunction in a format suitable for debugging to the specified stream.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:607
Parameters
- llvm::raw_ostream& OS
- const llvm::SlotIndexes* = nullptr
¶void push_back(llvm::MachineBasicBlock* MBB)
void push_back(llvm::MachineBasicBlock* MBB)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:668
Parameters
¶void push_front(llvm::MachineBasicBlock* MBB)
void push_front(llvm::MachineBasicBlock* MBB)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:669
Parameters
¶int rbegin()
int rbegin()
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:656
¶int rbegin() const
int rbegin() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:657
¶void remove(llvm::MachineBasicBlock* MBBI)
void remove(llvm::MachineBasicBlock* MBBI)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:684
Parameters
- llvm::MachineBasicBlock* MBBI
¶void remove(int MBBI)
void remove(int MBBI)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:683
Parameters
- int MBBI
¶void removeFromMBBNumbering(unsigned int N)
void removeFromMBBNumbering(unsigned int N)
Description
removeFromMBBNumbering - Remove the specific machine basic block from our tracker, this is only really to be used by the MachineBasicBlock implementation.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:714
Parameters
- unsigned int N
¶int rend()
int rend()
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:658
¶int rend() const
int rend() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:659
¶void reset()
void reset()
Description
Reset the instance as if it was just created.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:425
¶void resetDelegate(
llvm::MachineFunction::Delegate* delegate)
void resetDelegate(
llvm::MachineFunction::Delegate* delegate)
Description
Reset the currently registered delegate - otherwise assert.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:431
Parameters
- llvm::MachineFunction::Delegate* delegate
¶void setAlignment(llvm::Align A)
void setAlignment(llvm::Align A)
Description
setAlignment - Set the alignment of the function.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:520
Parameters
¶void setCallSiteBeginLabel(
llvm::MCSymbol* BeginLabel,
unsigned int Site)
void setCallSiteBeginLabel(
llvm::MCSymbol* BeginLabel,
unsigned int Site)
Description
Map the begin label for a call site.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:937
Parameters
- llvm::MCSymbol* BeginLabel
- unsigned int Site
¶void setCallSiteLandingPad(
llvm::MCSymbol* Sym,
ArrayRef<unsigned int> Sites)
void setCallSiteLandingPad(
llvm::MCSymbol* Sym,
ArrayRef<unsigned int> Sites)
Description
Map the landing pad's EH symbol to the call site indexes.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:906
Parameters
- llvm::MCSymbol* Sym
- ArrayRef<unsigned int> Sites
¶void setCallsEHReturn(bool b)
void setCallsEHReturn(bool b)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:849
Parameters
- bool b
¶void setCallsUnwindInit(bool b)
void setCallsUnwindInit(bool b)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:852
Parameters
- bool b
¶void setDelegate(
llvm::MachineFunction::Delegate* delegate)
void setDelegate(
llvm::MachineFunction::Delegate* delegate)
Description
Set the delegate. resetDelegate must be called before attempting to set.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:439
Parameters
- llvm::MachineFunction::Delegate* delegate
¶void setExposesReturnsTwice(bool B)
void setExposesReturnsTwice(bool B)
Description
setCallsSetJmp - Set a flag that indicates if there's a call to a "returns twice" function.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:537
Parameters
- bool B
¶void setHasEHFunclets(bool V)
void setHasEHFunclets(bool V)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:858
Parameters
- bool V
¶void setHasEHScopes(bool V)
void setHasEHScopes(bool V)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:855
Parameters
- bool V
¶void setHasInlineAsm(bool B)
void setHasInlineAsm(bool B)
Description
Set a flag that indicates that the function contains inline assembly.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:547
Parameters
- bool B
¶void setHasWinCFI(bool v)
void setHasWinCFI(bool v)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:554
Parameters
- bool v
¶void setVariableDbgInfo(
const llvm::DILocalVariable* Var,
const llvm::DIExpression* Expr,
int Slot,
const llvm::DILocation* Loc)
void setVariableDbgInfo(
const llvm::DILocalVariable* Var,
const llvm::DIExpression* Expr,
int Slot,
const llvm::DILocation* Loc)
Description
Collect information used to emit debugging information of a variable.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:976
Parameters
- const llvm::DILocalVariable* Var
- const llvm::DIExpression* Expr
- int Slot
- const llvm::DILocation* Loc
¶void setWasmLandingPadIndex(
const llvm::MachineBasicBlock* LPad,
unsigned int Index)
void setWasmLandingPadIndex(
const llvm::MachineBasicBlock* LPad,
unsigned int Index)
Description
Map the landing pad to its index. Used for Wasm exception handling.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:909
Parameters
- const llvm::MachineBasicBlock* LPad
- unsigned int Index
¶bool shouldSplitStack() const
bool shouldSplitStack() const
Description
Should we be emitting segmented stack stuff for the function
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:593
¶unsigned int size() const
unsigned int size() const
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:661
¶template <typename Comp>
void sort(Comp comp)
template <typename Comp>
void sort(Comp comp)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:689
Templates
- Comp
Parameters
- Comp comp
¶void splice(int InsertPt, int MBBI)
void splice(int InsertPt, int MBBI)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:673
Parameters
- int InsertPt
- int MBBI
¶void splice(int InsertPt,
llvm::MachineBasicBlock* MBB)
void splice(int InsertPt,
llvm::MachineBasicBlock* MBB)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:676
Parameters
- int InsertPt
- llvm::MachineBasicBlock* MBB
¶void splice(int InsertPt, int MBBI, int MBBE)
void splice(int InsertPt, int MBBI, int MBBE)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:679
Parameters
- int InsertPt
- int MBBI
- int MBBE
¶void tidyLandingPads(
int* LPMap = nullptr,
bool TidyIfNoBeginLabels = true)
void tidyLandingPads(
int* LPMap = nullptr,
bool TidyIfNoBeginLabels = true)
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:864
Parameters
- int* LPMap = nullptr
- bool TidyIfNoBeginLabels = true
¶bool verify(llvm::Pass* p = nullptr,
const char* Banner = nullptr,
bool AbortOnError = true) const
bool verify(llvm::Pass* p = nullptr,
const char* Banner = nullptr,
bool AbortOnError = true) const
Description
Run the current MachineFunction through the machine code verifier, useful for debugger use.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:629
Parameters
- llvm::Pass* p = nullptr
- const char* Banner = nullptr
- bool AbortOnError = true
Returns
true if no problems were found.
¶void viewCFG() const
void viewCFG() const
Description
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.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:614
¶void viewCFGOnly() const
void viewCFGOnly() const
Description
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.
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:621
¶~MachineFunction()
~MachineFunction()
Declared at: llvm/include/llvm/CodeGen/MachineFunction.h:422