class MachineBasicBlock
Declaration
class MachineBasicBlock { /* full declaration omitted */ };
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:65
Method Overview
- public bool CorrectExtraCFGEdges(llvm::MachineBasicBlock * DestA, llvm::MachineBasicBlock * DestB, bool IsCond)
- public void ReplaceUsesOfBlockWith(llvm::MachineBasicBlock * Old, llvm::MachineBasicBlock * New)
- public int SkipPHIsAndLabels(int I)
- public int SkipPHIsLabelsAndDebug(int I)
- public llvm::MachineBasicBlock * SplitCriticalEdge(llvm::MachineBasicBlock * Succ, llvm::Pass & P)
- public void addLiveIn(llvm::MCRegister PhysReg, llvm::LaneBitmask LaneMask = LaneBitmask::getAll())
- public void addLiveIn(const llvm::MachineBasicBlock::RegisterMaskPair & RegMaskPair)
- public unsigned int addLiveIn(llvm::MCRegister PhysReg, const llvm::TargetRegisterClass * RC)
- public void addSuccessor(llvm::MachineBasicBlock * Succ, llvm::BranchProbability Prob = BranchProbability::getUnknown())
- public void addSuccessorWithoutProb(llvm::MachineBasicBlock * Succ)
- public llvm::MachineInstr & back()
- public const llvm::MachineInstr & back() const
- public int begin()
- public int begin() const
- public bool canFallThrough()
- public bool canSplitCriticalEdge(const llvm::MachineBasicBlock * Succ) const
- public void clear()
- public void clearLiveIns()
- public llvm::MachineBasicBlock::LivenessQueryResult computeRegisterLiveness(const llvm::TargetRegisterInfo * TRI, unsigned int Reg, int Before, unsigned int Neighborhood = 10) const
- public void copySuccessor(llvm::MachineBasicBlock * Orig, int I)
- public void dump() const
- public bool empty() const
- public int end()
- public int end() const
- public int erase(int I)
- public int erase(llvm::MachineInstr * I)
- public int erase(int I)
- public int erase(int I, int E)
- public void eraseFromParent()
- public int erase_instr(llvm::MachineInstr * I)
- public llvm::DebugLoc findBranchDebugLoc()
- public llvm::DebugLoc findDebugLoc(int MBBI)
- public llvm::DebugLoc findDebugLoc(int MBBI)
- public llvm::DebugLoc findPrevDebugLoc(int MBBI)
- public llvm::DebugLoc findPrevDebugLoc(int MBBI)
- public const llvm::MachineInstr & front() const
- public llvm::MachineInstr & front()
- public llvm::Align getAlignment() const
- public const llvm::BasicBlock * getBasicBlock() const
- public const uint32_t * getBeginClobberMask(const llvm::TargetRegisterInfo * TRI) const
- public const uint32_t * getEndClobberMask(const llvm::TargetRegisterInfo * TRI) const
- public llvm::MachineBasicBlock * getFallThrough()
- public int getFirstInstrTerminator()
- public int getFirstNonDebugInstr()
- public int getFirstNonDebugInstr() const
- public int getFirstNonPHI()
- public int getFirstTerminator() const
- public int getFirstTerminator()
- public std::string getFullName() const
- public Optional<uint64_t> getIrrLoopHeaderWeight() const
- public int getLastNonDebugInstr()
- public int getLastNonDebugInstr() const
- public llvm::StringRef getName() const
- public int getNumber() const
- public const llvm::MachineFunction * getParent() const
- public llvm::MachineFunction * getParent()
- public static int llvm::MachineBasicBlock::* getSublistAccess(llvm::MachineInstr *)
- public llvm::MCSymbol * getSymbol() const
- public bool hasAddressTaken() const
- public bool hasEHPadSuccessor() const
- public bool hasLabelMustBeEmitted() const
- public bool hasSuccessorProbabilities() const
- public int insert(int I, llvm::MachineInstr * M)
- public int insert(int I, llvm::MachineInstr * M)
- public template <typename IT>void insert(int I, IT S, IT E)
- public int insertAfter(int I, llvm::MachineInstr * MI)
- public int insertAfterBundle(int I, llvm::MachineInstr * MI)
- public const llvm::MachineInstr & instr_back() const
- public llvm::MachineInstr & instr_back()
- public int instr_begin() const
- public int instr_begin()
- public int instr_end() const
- public int instr_end()
- public llvm::MachineInstr & instr_front()
- public const llvm::MachineInstr & instr_front() const
- public int instr_rbegin()
- public int instr_rbegin() const
- public int instr_rend()
- public int instr_rend() const
- public int instrs() const
- public int instrs()
- public bool isCleanupFuncletEntry() const
- public bool isEHFuncletEntry() const
- public bool isEHPad() const
- public bool isEHScopeEntry() const
- public bool isEHScopeReturnBlock() const
- public bool isLayoutSuccessor(const llvm::MachineBasicBlock * MBB) const
- public bool isLegalToHoistInto() const
- public bool isLiveIn(llvm::MCPhysReg Reg, llvm::LaneBitmask LaneMask = LaneBitmask::getAll()) const
- public bool isPredecessor(const llvm::MachineBasicBlock * MBB) const
- public bool isReturnBlock() const
- public bool isSuccessor(const llvm::MachineBasicBlock * MBB) const
- public int livein_begin() const
- public int livein_begin_dbg() const
- public bool livein_empty() const
- public int livein_end() const
- public int liveins() const
- public int liveins_dbg() const
- public void moveAfter(llvm::MachineBasicBlock * NewBefore)
- public void moveBefore(llvm::MachineBasicBlock * NewAfter)
- public void normalizeSuccProbs()
- public inline int phis()
- public inline int phis() const
- public void pop_back()
- public void pop_front()
- public int pred_begin()
- public int pred_begin() const
- public bool pred_empty() const
- public int pred_end()
- public int pred_end() const
- public int pred_rbegin()
- public int pred_rbegin() const
- public int pred_rend() const
- public int pred_rend()
- public unsigned int pred_size() const
- public inline int predecessors() const
- public inline int predecessors()
- public void print(llvm::raw_ostream & OS, llvm::ModuleSlotTracker & MST, const llvm::SlotIndexes * = nullptr, bool IsStandalone = true) const
- public void print(llvm::raw_ostream & OS, const llvm::SlotIndexes * = nullptr, bool IsStandalone = true) const
- public void printAsOperand(llvm::raw_ostream & OS, bool PrintType = true) const
- public void push_back(llvm::MachineInstr * MI)
- public llvm::MachineBasicBlock::reverse_iterator rbegin()
- public llvm::MachineBasicBlock::const_reverse_iterator rbegin() const
- public llvm::MachineInstr * remove(llvm::MachineInstr * I)
- public llvm::MachineBasicBlock * removeFromParent()
- public void removeLiveIn(llvm::MCPhysReg Reg, llvm::LaneBitmask LaneMask = LaneBitmask::getAll())
- public int removeLiveIn(int I)
- public int removeSuccessor(int I, bool NormalizeSuccProbs = false)
- public void removeSuccessor(llvm::MachineBasicBlock * Succ, bool NormalizeSuccProbs = false)
- public llvm::MachineInstr * remove_instr(llvm::MachineInstr * I)
- public llvm::MachineBasicBlock::const_reverse_iterator rend() const
- public llvm::MachineBasicBlock::reverse_iterator rend()
- public void replacePhiUsesWith(llvm::MachineBasicBlock * Old, llvm::MachineBasicBlock * New)
- public void replaceSuccessor(llvm::MachineBasicBlock * Old, llvm::MachineBasicBlock * New)
- public void setAlignment(llvm::Align A)
- public void setHasAddressTaken()
- public void setIrrLoopHeaderWeight(uint64_t Weight)
- public void setIsCleanupFuncletEntry(bool V = true)
- public void setIsEHFuncletEntry(bool V = true)
- public void setIsEHPad(bool V = true)
- public void setIsEHScopeEntry(bool V = true)
- public void setLabelMustBeEmitted()
- public void setNumber(int N)
- public void setSuccProbability(int I, llvm::BranchProbability Prob)
- public unsigned int size() const
- public void sortUniqueLiveIns()
- public void splice(int Where, llvm::MachineBasicBlock * Other, int From, int To)
- public void splice(int Where, llvm::MachineBasicBlock * Other, int From)
- public void splitSuccessor(llvm::MachineBasicBlock * Old, llvm::MachineBasicBlock * New, bool NormalizeSuccProbs = false)
- public int succ_begin() const
- public int succ_begin()
- public bool succ_empty() const
- public int succ_end() const
- public int succ_end()
- public int succ_rbegin()
- public int succ_rbegin() const
- public int succ_rend()
- public int succ_rend() const
- public unsigned int succ_size() const
- public inline int successors()
- public inline int successors() const
- public inline int terminators() const
- public inline int terminators()
- public void transferSuccessors(llvm::MachineBasicBlock * FromMBB)
- public void transferSuccessorsAndUpdatePHIs(llvm::MachineBasicBlock * FromMBB)
- public void updateTerminator()
- public void validateSuccProbs() const
Methods
¶bool CorrectExtraCFGEdges(
llvm::MachineBasicBlock* DestA,
llvm::MachineBasicBlock* DestB,
bool IsCond)
bool CorrectExtraCFGEdges(
llvm::MachineBasicBlock* DestA,
llvm::MachineBasicBlock* DestB,
bool IsCond)
Description
Various pieces of code can cause excess edges in the CFG to be inserted. If we have proven that MBB can only branch to DestA and DestB, remove any other MBB successors from the CFG. DestA and DestB can be null. Besides DestA and DestB, retain other edges leading to LandingPads (currently there can be only one; we don't check or require that here). Note it is possible that DestA and/or DestB are LandingPads.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:746
Parameters
- llvm::MachineBasicBlock* DestA
- llvm::MachineBasicBlock* DestB
- bool IsCond
¶void ReplaceUsesOfBlockWith(
llvm::MachineBasicBlock* Old,
llvm::MachineBasicBlock* New)
void ReplaceUsesOfBlockWith(
llvm::MachineBasicBlock* Old,
llvm::MachineBasicBlock* New)
Description
Given a machine basic block that branched to 'Old', change the code and CFG so that it branches to 'New' instead.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:734
Parameters
¶int SkipPHIsAndLabels(int I)
int SkipPHIsAndLabels(int I)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:542
Parameters
- int I
¶int SkipPHIsLabelsAndDebug(int I)
int SkipPHIsLabelsAndDebug(int I)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:547
Parameters
- int I
¶llvm::MachineBasicBlock* SplitCriticalEdge(
llvm::MachineBasicBlock* Succ,
llvm::Pass& P)
llvm::MachineBasicBlock* SplitCriticalEdge(
llvm::MachineBasicBlock* Succ,
llvm::Pass& P)
Description
Split the critical edge from this block to the given successor block, and return the newly created block, or null if splitting is not possible. This function updates LiveVariables, MachineDominatorTree, and MachineLoopInfo, as applicable.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:591
Parameters
- llvm::MachineBasicBlock* Succ
- llvm::Pass& P
¶void addLiveIn(llvm::MCRegister PhysReg,
llvm::LaneBitmask LaneMask =
LaneBitmask::getAll())
void addLiveIn(llvm::MCRegister PhysReg,
llvm::LaneBitmask LaneMask =
LaneBitmask::getAll())
Description
Adds the specified register as a live in. Note that it is an error to add the same register to the same set more than once unless the intention is to call sortUniqueLiveIns after all registers are added.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:315
Parameters
- llvm::MCRegister PhysReg
- llvm::LaneBitmask LaneMask = LaneBitmask::getAll()
¶void addLiveIn(const llvm::MachineBasicBlock::
RegisterMaskPair& RegMaskPair)
void addLiveIn(const llvm::MachineBasicBlock::
RegisterMaskPair& RegMaskPair)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:319
Parameters
- const llvm::MachineBasicBlock::RegisterMaskPair& RegMaskPair
¶unsigned int addLiveIn(
llvm::MCRegister PhysReg,
const llvm::TargetRegisterClass* RC)
unsigned int addLiveIn(
llvm::MCRegister PhysReg,
const llvm::TargetRegisterClass* RC)
Description
Add PhysReg as live in to this block, and ensure that there is a copy of PhysReg to a virtual register of class RC. Return the virtual register that is a copy of the live in PhysReg.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:334
Parameters
- llvm::MCRegister PhysReg
- const llvm::TargetRegisterClass* RC
¶void addSuccessor(
llvm::MachineBasicBlock* Succ,
llvm::BranchProbability Prob =
BranchProbability::getUnknown())
void addSuccessor(
llvm::MachineBasicBlock* Succ,
llvm::BranchProbability Prob =
BranchProbability::getUnknown())
Description
Add Succ as a successor of this MachineBasicBlock. The Predecessors list of Succ is automatically updated. PROB parameter is stored in Probabilities list. The default probability is set as unknown. Mixing known and unknown probabilities in successor list is not allowed. When all successors have unknown probabilities, 1 / N is returned as the probability for each successor, where N is the number of successors. Note that duplicate Machine CFG edges are not allowed.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:438
Parameters
- llvm::MachineBasicBlock* Succ
- llvm::BranchProbability Prob = BranchProbability::getUnknown()
¶void addSuccessorWithoutProb(
llvm::MachineBasicBlock* Succ)
void addSuccessorWithoutProb(
llvm::MachineBasicBlock* Succ)
Description
Add Succ as a successor of this MachineBasicBlock. The Predecessors list of Succ is automatically updated. The probability is not provided because BPI is not available (e.g. -O0 is used), in which case edge probabilities won't be used. Using this interface can save some space.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:445
Parameters
- llvm::MachineBasicBlock* Succ
¶llvm::MachineInstr& back()
llvm::MachineInstr& back()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:196
¶const llvm::MachineInstr& back() const
const llvm::MachineInstr& back() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:198
¶int begin()
int begin()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:216
¶int begin() const
int begin() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:217
¶bool canFallThrough()
bool canFallThrough()
Description
Return true if the block can implicitly transfer control to the block after it by falling off the end of it. This should return false if it can reach the block after it, but it uses an explicit branch to do so (e.g., a table jump). True is a conservative answer.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:530
¶bool canSplitCriticalEdge(
const llvm::MachineBasicBlock* Succ) const
bool canSplitCriticalEdge(
const llvm::MachineBasicBlock* Succ) const
Description
Check if the edge between this block and the given successor \p Succ, can be split. If this returns true a subsequent call to SplitCriticalEdge is guaranteed to return a valid basic block if no changes occurred in the meantime.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:597
Parameters
- const llvm::MachineBasicBlock* Succ
¶void clear()
void clear()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:700
¶void clearLiveIns()
void clearLiveIns()
Description
Clear live in list.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:329
¶llvm::MachineBasicBlock::LivenessQueryResult
computeRegisterLiveness(
const llvm::TargetRegisterInfo* TRI,
unsigned int Reg,
int Before,
unsigned int Neighborhood = 10) const
llvm::MachineBasicBlock::LivenessQueryResult
computeRegisterLiveness(
const llvm::TargetRegisterInfo* TRI,
unsigned int Reg,
int Before,
unsigned int Neighborhood = 10) const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:783
Parameters
- const llvm::TargetRegisterInfo* TRI
- unsigned int Reg
- int Before
- unsigned int Neighborhood = 10
¶void copySuccessor(llvm::MachineBasicBlock* Orig,
int I)
void copySuccessor(llvm::MachineBasicBlock* Orig,
int I)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:486
Parameters
- llvm::MachineBasicBlock* Orig
- int I
¶void dump() const
void dump() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:789
¶bool empty() const
bool empty() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:188
¶int end()
int end()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:218
¶int end() const
int end() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:219
¶int erase(int I)
int erase(int I)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:653
Parameters
- int I
¶int erase(llvm::MachineInstr* I)
int erase(llvm::MachineInstr* I)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:679
Parameters
¶int erase(int I)
int erase(int I)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:653
Parameters
- int I
¶int erase(int I, int E)
int erase(int I, int E)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:664
Parameters
- int I
- int E
¶void eraseFromParent()
void eraseFromParent()
Description
This method unlinks 'this' from the containing function and deletes it.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:730
¶int erase_instr(llvm::MachineInstr* I)
int erase_instr(llvm::MachineInstr* I)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:659
Parameters
¶llvm::DebugLoc findBranchDebugLoc()
llvm::DebugLoc findBranchDebugLoc()
Description
Find and return the merged DebugLoc of the branch instructions of the block. Return UnknownLoc if there is none.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:766
¶llvm::DebugLoc findDebugLoc(int MBBI)
llvm::DebugLoc findDebugLoc(int MBBI)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:752
Parameters
- int MBBI
¶llvm::DebugLoc findDebugLoc(int MBBI)
llvm::DebugLoc findDebugLoc(int MBBI)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:752
Parameters
- int MBBI
¶llvm::DebugLoc findPrevDebugLoc(int MBBI)
llvm::DebugLoc findPrevDebugLoc(int MBBI)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:759
Parameters
- int MBBI
¶llvm::DebugLoc findPrevDebugLoc(int MBBI)
llvm::DebugLoc findPrevDebugLoc(int MBBI)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:759
Parameters
- int MBBI
¶const llvm::MachineInstr& front() const
const llvm::MachineInstr& front() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:197
¶llvm::MachineInstr& front()
llvm::MachineInstr& front()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:195
¶llvm::Align getAlignment() const
llvm::Align getAlignment() const
Description
Return alignment of the basic block.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:376
¶const llvm::BasicBlock* getBasicBlock() const
const llvm::BasicBlock* getBasicBlock() const
Description
Return the LLVM basic block that this instance corresponded to originally. Note that this may be NULL if this instance does not correspond directly to an LLVM basic block.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:150
¶const uint32_t* getBeginClobberMask(
const llvm::TargetRegisterInfo* TRI) const
const uint32_t* getBeginClobberMask(
const llvm::TargetRegisterInfo* TRI) const
Description
Get the clobber mask for the start of this basic block. Funclets use this to prevent register allocation across funclet transitions.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:369
Parameters
- const llvm::TargetRegisterInfo* TRI
¶const uint32_t* getEndClobberMask(
const llvm::TargetRegisterInfo* TRI) const
const uint32_t* getEndClobberMask(
const llvm::TargetRegisterInfo* TRI) const
Description
Get the clobber mask for the end of the basic block.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:373
Parameters
- const llvm::TargetRegisterInfo* TRI
¶llvm::MachineBasicBlock* getFallThrough()
llvm::MachineBasicBlock* getFallThrough()
Description
Return the fallthrough block if the block can implicitly transfer control to the block after it by falling off the end of it. This should return null if it can reach the block after it, but it uses an explicit branch to do so (e.g., a table jump). Non-null return is a conservative answer.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:523
¶int getFirstInstrTerminator()
int getFirstInstrTerminator()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:558
¶int getFirstNonDebugInstr()
int getFirstNonDebugInstr()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:562
¶int getFirstNonDebugInstr() const
int getFirstNonDebugInstr() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:563
¶int getFirstNonPHI()
int getFirstNonPHI()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:537
¶int getFirstTerminator() const
int getFirstTerminator() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:552
¶int getFirstTerminator()
int getFirstTerminator()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:551
¶std::string getFullName() const
std::string getFullName() const
Description
Return a formatted string to identify this block and its parent function.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:156
¶Optional<uint64_t> getIrrLoopHeaderWeight() const
Optional<uint64_t> getIrrLoopHeaderWeight() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:806
¶int getLastNonDebugInstr()
int getLastNonDebugInstr()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:569
¶int getLastNonDebugInstr() const
int getLastNonDebugInstr() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:570
¶llvm::StringRef getName() const
llvm::StringRef getName() const
Description
Return the name of the corresponding LLVM basic block, or an empty string.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:153
¶int getNumber() const
int getNumber() const
Description
MachineBasicBlocks are uniquely numbered at the function level, unless they're not in a MachineFunction yet, in which case this will return -1.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:800
¶const llvm::MachineFunction* getParent() const
const llvm::MachineFunction* getParent() const
Description
Return the MachineFunction containing this basic block.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:173
¶llvm::MachineFunction* getParent()
llvm::MachineFunction* getParent()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:174
¶static int llvm::MachineBasicBlock::*
getSublistAccess(llvm::MachineInstr*)
static int llvm::MachineBasicBlock::*
getSublistAccess(llvm::MachineInstr*)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:232
Parameters
¶llvm::MCSymbol* getSymbol() const
llvm::MCSymbol* getSymbol() const
Description
Return the MCSymbol for this basic block.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:804
¶bool hasAddressTaken() const
bool hasAddressTaken() const
Description
Test whether this block is potentially the target of an indirect branch.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:159
¶bool hasEHPadSuccessor() const
bool hasEHPadSuccessor() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:389
¶bool hasLabelMustBeEmitted() const
bool hasLabelMustBeEmitted() const
Description
Test whether this block must have its label emitted.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:166
¶bool hasSuccessorProbabilities() const
bool hasSuccessorProbabilities() const
Description
Return true if any of the successors have probabilities attached to them.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:503
¶int insert(int I, llvm::MachineInstr* M)
int insert(int I, llvm::MachineInstr* M)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:609
Parameters
- int I
- llvm::MachineInstr* M
¶int insert(int I, llvm::MachineInstr* M)
int insert(int I, llvm::MachineInstr* M)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:609
Parameters
- int I
- llvm::MachineInstr* M
¶template <typename IT>
void insert(int I, IT S, IT E)
template <typename IT>
void insert(int I, IT S, IT E)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:613
Templates
- IT
Parameters
- int I
- IT S
- IT E
¶int insertAfter(int I, llvm::MachineInstr* MI)
int insertAfter(int I, llvm::MachineInstr* MI)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:629
Parameters
- int I
- llvm::MachineInstr* MI
¶int insertAfterBundle(int I,
llvm::MachineInstr* MI)
int insertAfterBundle(int I,
llvm::MachineInstr* MI)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:639
Parameters
- int I
- llvm::MachineInstr* MI
¶const llvm::MachineInstr& instr_back() const
const llvm::MachineInstr& instr_back() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:193
¶llvm::MachineInstr& instr_back()
llvm::MachineInstr& instr_back()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:191
¶int instr_begin() const
int instr_begin() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:201
¶int instr_begin()
int instr_begin()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:200
¶int instr_end() const
int instr_end() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:203
¶int instr_end()
int instr_end()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:202
¶llvm::MachineInstr& instr_front()
llvm::MachineInstr& instr_front()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:190
¶const llvm::MachineInstr& instr_front() const
const llvm::MachineInstr& instr_front() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:192
¶int instr_rbegin()
int instr_rbegin()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:204
¶int instr_rbegin() const
int instr_rbegin() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:205
¶int instr_rend()
int instr_rend()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:206
¶int instr_rend() const
int instr_rend() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:207
¶int instrs() const
int instrs() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:212
¶int instrs()
int instrs()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:211
¶bool isCleanupFuncletEntry() const
bool isCleanupFuncletEntry() const
Description
Returns true if this is the entry block of a cleanup funclet.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:406
¶bool isEHFuncletEntry() const
bool isEHFuncletEntry() const
Description
Returns true if this is the entry block of an EH funclet.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:400
¶bool isEHPad() const
bool isEHPad() const
Description
Returns true if the block is a landing pad. That is this basic block is entered via an exception handler.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:383
¶bool isEHScopeEntry() const
bool isEHScopeEntry() const
Description
Returns true if this is the entry block of an EH scope, i.e., the block that used to have a catchpad or cleanuppad instruction in the LLVM IR.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:393
¶bool isEHScopeReturnBlock() const
bool isEHScopeReturnBlock() const
Description
Convenience function that returns true if the bock ends in a EH scope return instruction.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:582
¶bool isLayoutSuccessor(
const llvm::MachineBasicBlock* MBB) const
bool isLayoutSuccessor(
const llvm::MachineBasicBlock* MBB) const
Description
Return true if the specified MBB will be emitted immediately after this block, such that if this block exits by falling through, control will transfer to the specified MBB. Note that MBB need not be a successor at all, for example if this block ends with an unconditional branch to some other block.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:516
Parameters
- const llvm::MachineBasicBlock* MBB
¶bool isLegalToHoistInto() const
bool isLegalToHoistInto() const
Description
Returns true if it is legal to hoist instructions into this block.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:412
¶bool isLiveIn(llvm::MCPhysReg Reg,
llvm::LaneBitmask LaneMask =
LaneBitmask::getAll()) const
bool isLiveIn(llvm::MCPhysReg Reg,
llvm::LaneBitmask LaneMask =
LaneBitmask::getAll()) const
Description
Return true if the specified register is in the live in set.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:341
Parameters
- llvm::MCPhysReg Reg
- llvm::LaneBitmask LaneMask = LaneBitmask::getAll()
¶bool isPredecessor(
const llvm::MachineBasicBlock* MBB) const
bool isPredecessor(
const llvm::MachineBasicBlock* MBB) const
Description
Return true if the specified MBB is a predecessor of this block.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:506
Parameters
- const llvm::MachineBasicBlock* MBB
¶bool isReturnBlock() const
bool isReturnBlock() const
Description
Convenience function that returns true if the block ends in a return instruction.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:576
¶bool isSuccessor(
const llvm::MachineBasicBlock* MBB) const
bool isSuccessor(
const llvm::MachineBasicBlock* MBB) const
Description
Return true if the specified MBB is a successor of this block.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:509
Parameters
- const llvm::MachineBasicBlock* MBB
¶int livein_begin() const
int livein_begin() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:357
¶int livein_begin_dbg() const
int livein_begin_dbg() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:352
¶bool livein_empty() const
bool livein_empty() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:359
¶int livein_end() const
int livein_end() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:358
¶int liveins() const
int liveins() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:360
¶int liveins_dbg() const
int liveins_dbg() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:353
¶void moveAfter(llvm::MachineBasicBlock* NewBefore)
void moveAfter(llvm::MachineBasicBlock* NewBefore)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:420
Parameters
- llvm::MachineBasicBlock* NewBefore
¶void moveBefore(llvm::MachineBasicBlock* NewAfter)
void moveBefore(llvm::MachineBasicBlock* NewAfter)
Description
Move 'this' block before or after the specified block. This only moves the block, it does not modify the CFG or adjust potential fall-throughs at the end of the block.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:419
Parameters
- llvm::MachineBasicBlock* NewAfter
¶void normalizeSuccProbs()
void normalizeSuccProbs()
Description
Normalize probabilities of all successors so that the sum of them becomes one. This is usually done when the current update on this MBB is done, and the sum of its successors' probabilities is not guaranteed to be one. The user is responsible for the correct use of this function. MBB::removeSuccessor() has an option to do this automatically.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:455
¶inline int phis()
inline int phis()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:244
¶inline int phis() const
inline int phis() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:247
¶void pop_back()
void pop_back()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:600
¶void pop_front()
void pop_front()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:599
¶int pred_begin()
int pred_begin()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:264
¶int pred_begin() const
int pred_begin() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:265
¶bool pred_empty() const
bool pred_empty() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:279
¶int pred_end()
int pred_end()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:266
¶int pred_end() const
int pred_end() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:267
¶int pred_rbegin()
int pred_rbegin()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:268
¶int pred_rbegin() const
int pred_rbegin() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:270
¶int pred_rend() const
int pred_rend() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:274
¶int pred_rend()
int pred_rend()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:272
¶unsigned int pred_size() const
unsigned int pred_size() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:276
¶inline int predecessors() const
inline int predecessors() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:300
¶inline int predecessors()
inline int predecessors()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:297
¶void print(llvm::raw_ostream& OS,
llvm::ModuleSlotTracker& MST,
const llvm::SlotIndexes* = nullptr,
bool IsStandalone = true) const
void print(llvm::raw_ostream& OS,
llvm::ModuleSlotTracker& MST,
const llvm::SlotIndexes* = nullptr,
bool IsStandalone = true) const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:792
Parameters
- llvm::raw_ostream& OS
- llvm::ModuleSlotTracker& MST
- const llvm::SlotIndexes* = nullptr
- bool IsStandalone = true
¶void print(llvm::raw_ostream& OS,
const llvm::SlotIndexes* = nullptr,
bool IsStandalone = true) const
void print(llvm::raw_ostream& OS,
const llvm::SlotIndexes* = nullptr,
bool IsStandalone = true) const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:790
Parameters
- llvm::raw_ostream& OS
- const llvm::SlotIndexes* = nullptr
- bool IsStandalone = true
¶void printAsOperand(llvm::raw_ostream& OS,
bool PrintType = true) const
void printAsOperand(llvm::raw_ostream& OS,
bool PrintType = true) const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:796
Parameters
- llvm::raw_ostream& OS
- bool PrintType = true
¶void push_back(llvm::MachineInstr* MI)
void push_back(llvm::MachineInstr* MI)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:601
Parameters
¶llvm::MachineBasicBlock::reverse_iterator rbegin()
llvm::MachineBasicBlock::reverse_iterator rbegin()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:220
¶llvm::MachineBasicBlock::const_reverse_iterator
rbegin() const
llvm::MachineBasicBlock::const_reverse_iterator
rbegin() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:223
¶llvm::MachineInstr* remove(llvm::MachineInstr* I)
llvm::MachineInstr* remove(llvm::MachineInstr* I)
Description
Remove the unbundled instruction from the instruction list without deleting it. This function can not be used to remove bundled instructions, use remove_instr to remove individual instructions from a bundle.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:688
Parameters
¶llvm::MachineBasicBlock* removeFromParent()
llvm::MachineBasicBlock* removeFromParent()
Description
This method unlinks 'this' from the containing function, and returns it, but does not delete it.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:727
¶void removeLiveIn(llvm::MCPhysReg Reg,
llvm::LaneBitmask LaneMask =
LaneBitmask::getAll())
void removeLiveIn(llvm::MCPhysReg Reg,
llvm::LaneBitmask LaneMask =
LaneBitmask::getAll())
Description
Remove the specified register from the live in set.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:337
Parameters
- llvm::MCPhysReg Reg
- llvm::LaneBitmask LaneMask = LaneBitmask::getAll()
¶int removeLiveIn(int I)
int removeLiveIn(int I)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:365
Parameters
- int I
¶int removeSuccessor(
int I,
bool NormalizeSuccProbs = false)
int removeSuccessor(
int I,
bool NormalizeSuccProbs = false)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:475
Parameters
- int I
- bool NormalizeSuccProbs = false
¶void removeSuccessor(
llvm::MachineBasicBlock* Succ,
bool NormalizeSuccProbs = false)
void removeSuccessor(
llvm::MachineBasicBlock* Succ,
bool NormalizeSuccProbs = false)
Description
Remove successor from the successors list of this MachineBasicBlock. The Predecessors list of Succ is automatically updated. If NormalizeSuccProbs is true, then normalize successors' probabilities after the successor is removed.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:467
Parameters
- llvm::MachineBasicBlock* Succ
- bool NormalizeSuccProbs = false
¶llvm::MachineInstr* remove_instr(
llvm::MachineInstr* I)
llvm::MachineInstr* remove_instr(
llvm::MachineInstr* I)
Description
Remove the possibly bundled instruction from the instruction list without deleting it. If the instruction is part of a bundle, the other instructions in the bundle will still be bundled after removing the single instruction.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:698
Parameters
¶llvm::MachineBasicBlock::const_reverse_iterator
rend() const
llvm::MachineBasicBlock::const_reverse_iterator
rend() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:227
¶llvm::MachineBasicBlock::reverse_iterator rend()
llvm::MachineBasicBlock::reverse_iterator rend()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:226
¶void replacePhiUsesWith(
llvm::MachineBasicBlock* Old,
llvm::MachineBasicBlock* New)
void replacePhiUsesWith(
llvm::MachineBasicBlock* Old,
llvm::MachineBasicBlock* New)
Description
Update all phi nodes in this basic block to refer to basic block \p New instead of basic block \p Old.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:738
Parameters
¶void replaceSuccessor(
llvm::MachineBasicBlock* Old,
llvm::MachineBasicBlock* New)
void replaceSuccessor(
llvm::MachineBasicBlock* Old,
llvm::MachineBasicBlock* New)
Description
Replace successor OLD with NEW and update probability info.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:479
Parameters
¶void setAlignment(llvm::Align A)
void setAlignment(llvm::Align A)
Description
Set alignment of the basic block.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:379
Parameters
¶void setHasAddressTaken()
void setHasAddressTaken()
Description
Set this block to reflect that it potentially is the target of an indirect branch.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:163
¶void setIrrLoopHeaderWeight(uint64_t Weight)
void setIrrLoopHeaderWeight(uint64_t Weight)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:810
Parameters
- uint64_t Weight
¶void setIsCleanupFuncletEntry(bool V = true)
void setIsCleanupFuncletEntry(bool V = true)
Description
Indicates if this is the entry block of a cleanup funclet.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:409
Parameters
- bool V = true
¶void setIsEHFuncletEntry(bool V = true)
void setIsEHFuncletEntry(bool V = true)
Description
Indicates if this is the entry block of an EH funclet.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:403
Parameters
- bool V = true
¶void setIsEHPad(bool V = true)
void setIsEHPad(bool V = true)
Description
Indicates the block is a landing pad. That is this basic block is entered via an exception handler.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:387
Parameters
- bool V = true
¶void setIsEHScopeEntry(bool V = true)
void setIsEHScopeEntry(bool V = true)
Description
Indicates if this is the entry block of an EH scope, i.e., the block that that used to have a catchpad or cleanuppad instruction in the LLVM IR.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:397
Parameters
- bool V = true
¶void setLabelMustBeEmitted()
void setLabelMustBeEmitted()
Description
Set this block to reflect that, regardless how we flow to it, we need its label be emitted.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:170
¶void setNumber(int N)
void setNumber(int N)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:801
Parameters
- int N
¶void setSuccProbability(
int I,
llvm::BranchProbability Prob)
void setSuccProbability(
int I,
llvm::BranchProbability Prob)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:448
Parameters
- int I
- llvm::BranchProbability Prob
¶unsigned int size() const
unsigned int size() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:187
¶void sortUniqueLiveIns()
void sortUniqueLiveIns()
Description
Sorts and uniques the LiveIns vector. It can be significantly faster to do this than repeatedly calling isLiveIn before calling addLiveIn for every LiveIn insertion.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:326
¶void splice(int Where,
llvm::MachineBasicBlock* Other,
int From,
int To)
void splice(int Where,
llvm::MachineBasicBlock* Other,
int From,
int To)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:719
Parameters
- int Where
- llvm::MachineBasicBlock* Other
- int From
- int To
¶void splice(int Where,
llvm::MachineBasicBlock* Other,
int From)
void splice(int Where,
llvm::MachineBasicBlock* Other,
int From)
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:708
Parameters
- int Where
- llvm::MachineBasicBlock* Other
- int From
¶void splitSuccessor(
llvm::MachineBasicBlock* Old,
llvm::MachineBasicBlock* New,
bool NormalizeSuccProbs = false)
void splitSuccessor(
llvm::MachineBasicBlock* Old,
llvm::MachineBasicBlock* New,
bool NormalizeSuccProbs = false)
Description
Split the old successor into old plus new and updates the probability info.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:490
Parameters
- llvm::MachineBasicBlock* Old
- llvm::MachineBasicBlock* New
- bool NormalizeSuccProbs = false
¶int succ_begin() const
int succ_begin() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:281
¶int succ_begin()
int succ_begin()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:280
¶bool succ_empty() const
bool succ_empty() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:295
¶int succ_end() const
int succ_end() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:283
¶int succ_end()
int succ_end()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:282
¶int succ_rbegin()
int succ_rbegin()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:284
¶int succ_rbegin() const
int succ_rbegin() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:286
¶int succ_rend()
int succ_rend()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:288
¶int succ_rend() const
int succ_rend() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:290
¶unsigned int succ_size() const
unsigned int succ_size() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:292
¶inline int successors()
inline int successors()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:303
¶inline int successors() const
inline int successors() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:306
¶inline int terminators() const
inline int terminators() const
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:239
¶inline int terminators()
inline int terminators()
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:236
¶void transferSuccessors(
llvm::MachineBasicBlock* FromMBB)
void transferSuccessors(
llvm::MachineBasicBlock* FromMBB)
Description
Transfers all the successors from MBB to this machine basic block (i.e., copies all the successors FromMBB and remove all the successors from FromMBB).
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:496
Parameters
- llvm::MachineBasicBlock* FromMBB
¶void transferSuccessorsAndUpdatePHIs(
llvm::MachineBasicBlock* FromMBB)
void transferSuccessorsAndUpdatePHIs(
llvm::MachineBasicBlock* FromMBB)
Description
Transfers all the successors, as in transferSuccessors, and update PHI operands in the successor blocks which refer to FromMBB to refer to this.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:500
Parameters
- llvm::MachineBasicBlock* FromMBB
¶void updateTerminator()
void updateTerminator()
Description
Update the terminator instructions in block to account for changes to the layout. If the block previously used a fallthrough, it may now need a branch, and if it previously used branching it may now be able to use a fallthrough.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:426
¶void validateSuccProbs() const
void validateSuccProbs() const
Description
Validate successors' probabilities and check if the sum of them is approximate one. This only works in DEBUG mode.
Declared at: llvm/include/llvm/CodeGen/MachineBasicBlock.h:461