"Factors representation of a basic block in the Call Flow Graph (CFG). A basic block is a sequence of instructions that always are executed sequentially and doesn't contain any internal branching. It has the following slots:"
- { { $slot "successors" } { "A " { $link vector } " of basic blocks that may be executed directly after this block. Most blocks only have one successor but a block that checks where an if-condition should branch to would have two for example." } }
- { { $slot "predecessors" } { "The opposite of successors -- a " { $link vector } " of basic blocks from which the execution may have arrived into this block." } }
- { { $slot "instructions" } { "A " { $link vector } " of " { $link insn } " tuples which form the instructions of the basic block." } }
- { { $slot "kill-block?" } { "The first and the last block in a cfg and all blocks containing " { $link ##call } " instructions are kill blocks. Kill blocks can't be optimized so they are omitted from certain optimization steps." } }
+ {
+ { $slot "number" }
+ { "The blocks sequence number. Generated by calling " { $link number-blocks } ". " }
+ }
+ {
+ { $slot "successors" }
+ { "A " { $link vector } " of basic blocks that may be executed directly after this block. Most blocks only have one successor but a block that checks where an if-condition should branch to would have two for example." }
+ }
+ {
+ { $slot "predecessors" }
+ { "The opposite of successors -- a " { $link vector } " of basic blocks from which the execution may have arrived into this block." }
+ }
+ {
+ { $slot "instructions" }
+ { "A " { $link vector } " of " { $link insn } " tuples which form the instructions of the basic block." }
+ }
+ {
+ { $slot "kill-block?" }
+ { "The first and the last block in a cfg and all blocks containing " { $link ##call } " instructions are kill blocks. Kill blocks can't be optimized so they are omitted from certain optimization steps." }
+ }
+ {
+ { $slot "ds-height" }
+ "The datastacks height at the entry of the block. Used during cfg construction."
+ }
+ {
+ { $slot "rs-height" }
+ "The retainstacks height at the entry of the block. Used during cfg construction."
+ }
}
}
{ $notes "A basic-block is an " { $link identity-tuple } " becase it is used as a hash table key by the compiler." } ;