Class IRCfg::BasicBlock
A basic block, that is, a maximal straight-line sequence of control flow nodes without branches or joins.
Import path
import semmle.code.cpp.ir.IRDirect supertypes
Indirect supertypes
Known direct subtypes
Predicates
| dominates | Holds if this block dominates |
| getASuccessor | Gets a block to which control flows directly from this block. |
| getASuccessor | Gets an immediate successor of this basic block of a given type, if any. |
| getImmediateDominator | Gets the basic block that immediately dominates this basic block, if any. |
| getLastNode | Gets the last control flow node in this basic block. |
| getNode | Gets the control flow node at a specific (zero-indexed) position in this basic block. |
| inDominanceFrontier | Holds if |
| length | Gets the length of this basic block. |
| postDominates | Holds if this block is a post-dominator of |
| strictlyDominates | Holds if this block strictly dominates |
| strictlyPostDominates | Holds if this block strictly post-dominates |
Inherited predicates
| dominanceFrontier | Gets a block on the dominance frontier of this block. | from IRBlock |
| getAPhiInstruction | Get the | from IRBlockBase |
| getAPredecessor | Gets a block from which control flows directly to this block. | from IRBlock |
| getAnInstruction | Gets an instruction in this block. This includes | from IRBlockBase |
| getBackEdgeSuccessor | Gets the block to which control flows directly from this block along a back edge of kind | from IRBlock |
| getDisplayIndex | INTERNAL: Do not use. | from IRBlockBase |
| getEnclosingFunction | Gets the | from IRBlockBase |
| getEnclosingIRFunction | Gets the | from IRBlockBase |
| getFirstInstruction | Gets the first non- | from IRBlockBase |
| getInstruction | Gets the | from IRBlockBase |
| getInstructionCount | Gets the number of non- | from IRBlockBase |
| getLastInstruction | Gets the last instruction in this block. | from IRBlockBase |
| getLocation | Gets the source location of the first non- | from IRBlockBase |
| getSuccessor | Gets the block to which control flows directly from this block along an edge of kind | from IRBlock |
| immediatelyDominates | Holds if this block immediately dominates | from IRBlock |
| immediatelyPostDominates | Holds if this block immediately post-dominates | from IRBlock |
| isReachableFromFunctionEntry | Holds if this block is reachable from the entry block of its function. | from IRBlock |
| postDominanceFrontier | Gets a block on the post-dominance frontier of this block. | from IRBlock |
| toString | Gets a textual representation of this block. | from IRBlockBase |