LLVM API Documentation
#include <InstrTypes.h>
Public Member Functions | |
| virtual Instruction * | clone () const =0 |
| unsigned | getNumSuccessors () const |
| BasicBlock * | getSuccessor (unsigned idx) const |
| void | setSuccessor (unsigned idx, BasicBlock *B) |
Static Public Member Functions | |
| static bool | classof (const TerminatorInst *) |
| static bool | classof (const Instruction *I) |
| Methods for support type inquiry through isa, cast, and dyn_cast:. | |
| static bool | classof (const Value *V) |
Protected Member Functions | |
| TerminatorInst (const Type *Ty, Instruction::TermOps iType, Use *Ops, unsigned NumOps, Instruction *InsertBefore=0) | |
| TerminatorInst (const Type *Ty, Instruction::TermOps iType, Use *Ops, unsigned NumOps, BasicBlock *InsertAtEnd) | |
| ~TerminatorInst () | |
| virtual BasicBlock * | getSuccessorV (unsigned idx) const =0 |
| virtual unsigned | getNumSuccessorsV () const =0 |
| virtual void | setSuccessorV (unsigned idx, BasicBlock *B)=0 |
Definition at line 32 of file InstrTypes.h.
| llvm::TerminatorInst::TerminatorInst | ( | const Type * | Ty, | |
| Instruction::TermOps | iType, | |||
| Use * | Ops, | |||
| unsigned | NumOps, | |||
| Instruction * | InsertBefore = 0 | |||
| ) | [inline, protected] |
Definition at line 34 of file InstrTypes.h.
| llvm::TerminatorInst::TerminatorInst | ( | const Type * | Ty, | |
| Instruction::TermOps | iType, | |||
| Use * | Ops, | |||
| unsigned | NumOps, | |||
| BasicBlock * | InsertAtEnd | |||
| ) | [inline, protected] |
Definition at line 39 of file InstrTypes.h.
| TerminatorInst::~TerminatorInst | ( | ) | [protected] |
Definition at line 104 of file Instructions.cpp.
| virtual BasicBlock* llvm::TerminatorInst::getSuccessorV | ( | unsigned | idx | ) | const [protected, pure virtual] |
Virtual methods - Terminators should overload these and provide inline overrides of non-V methods.
Referenced by getSuccessor().
| virtual unsigned llvm::TerminatorInst::getNumSuccessorsV | ( | ) | const [protected, pure virtual] |
Referenced by getNumSuccessors().
| virtual void llvm::TerminatorInst::setSuccessorV | ( | unsigned | idx, | |
| BasicBlock * | B | |||
| ) | [protected, pure virtual] |
Referenced by setSuccessor().
| virtual Instruction* llvm::TerminatorInst::clone | ( | ) | const [pure virtual] |
clone() - Create a copy of 'this' instruction that is identical in all ways except the following: The instruction has no parent The instruction has no name
Implements llvm::Instruction.
Implemented in llvm::ReturnInst, llvm::BranchInst, llvm::SwitchInst, llvm::InvokeInst, llvm::UnwindInst, and llvm::UnreachableInst.
| unsigned llvm::TerminatorInst::getNumSuccessors | ( | ) | const [inline] |
getNumSuccessors - Return the number of successors that this terminator has.
Reimplemented in llvm::ReturnInst, llvm::BranchInst, llvm::SwitchInst, llvm::InvokeInst, llvm::UnwindInst, and llvm::UnreachableInst.
Definition at line 57 of file InstrTypes.h.
References getNumSuccessorsV().
Referenced by AddReachableCodeToWorklist(), llvm::DeleteDeadBlock(), FoldBlockIntoPredecessor(), FoldCondBranchOnPHI(), llvm::ProfileInfoLoader::getBlockCounts(), llvm::isCriticalEdge(), llvm::SparseSolver::isEdgeFeasible(), recBackEdge(), llvm::RemoveSuccessor(), llvm::DominanceFrontier::splitBlock(), llvm::SplitCriticalEdge(), and llvm::SplitEdge().
| BasicBlock* llvm::TerminatorInst::getSuccessor | ( | unsigned | idx | ) | const [inline] |
getSuccessor - Return the specified successor.
Reimplemented in llvm::BranchInst, llvm::SwitchInst, and llvm::InvokeInst.
Definition at line 63 of file InstrTypes.h.
References getSuccessorV().
Referenced by AddReachableCodeToWorklist(), llvm::ConstantFoldTerminator(), llvm::DeleteDeadBlock(), FoldCondBranchOnPHI(), llvm::ProfileInfoLoader::getBlockCounts(), llvm::isCriticalEdge(), llvm::SparseSolver::isEdgeFeasible(), recBackEdge(), llvm::RemoveSuccessor(), SpeculativelyExecuteBB(), llvm::DominanceFrontier::splitBlock(), llvm::SplitCriticalEdge(), llvm::SplitEdge(), SplitEdgeNicely(), and llvm::UnrollLoop().
| void llvm::TerminatorInst::setSuccessor | ( | unsigned | idx, | |
| BasicBlock * | B | |||
| ) | [inline] |
setSuccessor - Update the specified successor to point at the provided block.
Reimplemented in llvm::BranchInst, llvm::SwitchInst, and llvm::InvokeInst.
Definition at line 69 of file InstrTypes.h.
References setSuccessorV().
Referenced by FoldCondBranchOnPHI(), llvm::SplitCriticalEdge(), SplitEdgeNicely(), and llvm::UnrollLoop().
| static bool llvm::TerminatorInst::classof | ( | const TerminatorInst * | ) | [inline, static] |
| static bool llvm::TerminatorInst::classof | ( | const Instruction * | ) | [inline, static] |
Methods for support type inquiry through isa, cast, and dyn_cast:.
Reimplemented from llvm::Instruction.
Reimplemented in llvm::ReturnInst, llvm::BranchInst, llvm::SwitchInst, llvm::InvokeInst, llvm::UnwindInst, and llvm::UnreachableInst.
Definition at line 75 of file InstrTypes.h.
References llvm::Instruction::isTerminator().
| static bool llvm::TerminatorInst::classof | ( | const Value * | V | ) | [inline, static] |
Reimplemented from llvm::Instruction.
Reimplemented in llvm::ReturnInst, llvm::BranchInst, llvm::SwitchInst, llvm::InvokeInst, llvm::UnwindInst, and llvm::UnreachableInst.
Definition at line 78 of file InstrTypes.h.
References classof().