class OrderedBasicBlock
Declaration
class OrderedBasicBlock { /* full declaration omitted */ };
Declared at: llvm/include/llvm/Analysis/OrderedBasicBlock.h:33
Method Overview
- public OrderedBasicBlock(const llvm::BasicBlock * BasicB)
- public bool dominates(const llvm::Instruction * A, const llvm::Instruction * B)
- public void eraseInstruction(const llvm::Instruction * I)
- public void replaceInstruction(const llvm::Instruction * Old, const llvm::Instruction * New)
Methods
¶OrderedBasicBlock(const llvm::BasicBlock* BasicB)
OrderedBasicBlock(const llvm::BasicBlock* BasicB)
Declared at: llvm/include/llvm/Analysis/OrderedBasicBlock.h:54
Parameters
- const llvm::BasicBlock* BasicB
¶bool dominates(const llvm::Instruction* A,
const llvm::Instruction* B)
bool dominates(const llvm::Instruction* A,
const llvm::Instruction* B)
Description
Find out whether \p A dominates \p B, meaning whether \p A comes before \p B in \p BB. This is a simplification that considers cached instruction positions and ignores other basic blocks, being only relevant to compare relative instructions positions inside \p BB. Returns false for A == B.
Declared at: llvm/include/llvm/Analysis/OrderedBasicBlock.h:61
Parameters
- const llvm::Instruction* A
- const llvm::Instruction* B
¶void eraseInstruction(const llvm::Instruction* I)
void eraseInstruction(const llvm::Instruction* I)
Description
Remove \p from the ordering, if it is present.
Declared at: llvm/include/llvm/Analysis/OrderedBasicBlock.h:64
Parameters
- const llvm::Instruction* I
¶void replaceInstruction(
const llvm::Instruction* Old,
const llvm::Instruction* New)
void replaceInstruction(
const llvm::Instruction* Old,
const llvm::Instruction* New)
Description
Replace \p Old with \p New in the ordering. \p New is assigned the numbering of \p Old, so it must be inserted at the same position in the IR.
Declared at: llvm/include/llvm/Analysis/OrderedBasicBlock.h:69
Parameters
- const llvm::Instruction* Old
- const llvm::Instruction* New