|View source on GitHub|
A basic block.
__init__( instructions=None, terminator=None, name=None )
A basic block is a sequence of instructions that are always executed
in order from first to last. After the last instruction is executed,
the block transfers control as indicated by the control transfer
instruction in the
FunctionCallOp is admissible as an internal
instruction in a
Block, on the grounds that it returns to a fixed
place, and the block is guaranteed to continue executing.
instructions: A list of
FunctionCallOpinstructions to execute in order. Control transfer instructions (that do not return) are not permitted in this list.
terminator: A single
IndirectGotoOp, indicating how to transfer control out of this basic block.
name: An object serving as the name of this
Block, for display.
A string suitable for referring to this
Block in printed output.
Assigns the body
instructions and the
terminator at once.
This is a convenience method, to set a
Block's program content
in one invocation instead of having to assign the
terminator fields separately.
instructions: A non-empty Python list of
Opobjects. The last one must be a
IndirectGotoOp, and becomes the
terminator. The others, if any, must be
FunctionCallOp, and become the
instructions, in order.