Lines Matching full:basic
208 // boundaries of basic blocks.
279 // insert them into a new basic block.
287 SANDBOX_DIE("Found a jump inside of a basic block");
299 // Add a new basic block to "basic_blocks". Also set "firstBlock", if it
305 "Only the very first basic block should have no "
320 // Textbook implementation of a basic block generator. All basic blocks
333 SANDBOX_DIE("Internal compiler error; cannot compute basic blocks");
337 // We reached a branch target. Start a new basic block (this means,
338 // flushing the previous basic block first).
343 // We reached a jump instruction, this completes our current basic
366 // Starting a new basic block.
370 // We found a non-jumping instruction, append it to current basic
375 // We reached a return statement, flush the current basic block and
386 // basic block and any blocks referenced by this block. This function can be
387 // used in a "less" comparator for the purpose of storing pointers to basic
389 // shared tail sequences of basic blocks.
400 // We compare the sequence of instructions in both basic blocks.
403 // Basic blocks should never be empty.
411 // both basic blocks, we know the relative ordering between the two blocks
449 // it should be the last instruction of the basic block.
457 // instruction in the basic block.
485 // We enter all of our basic blocks into a set using the BasicBlock::Less()
489 // the basic blocks and update the pointer in the "blocks" map.
490 // Returns the number of unique basic blocks.
492 // a basic block. In practice, this is sufficiently rare that we don't
506 // instructions. Enter the basic block into the set of known
507 // basic blocks.
510 // We have previously seen another basic block that defines the same
522 // basic block. But we only traverse recursively the very first time we
548 // Textbook implementation of a toposort. We keep looking for basic blocks
553 // sorting algorithm terminates when there are no more basic blocks that have
566 // Inspect last instruction in the basic block. This is typically either a
594 // Our basic block is supposed to be followed by "last_insn->next",
608 // Proceed by picking an arbitrary node from the set of basic blocks that
623 // go forward. This means, iterating over the basic blocks in reverse makes
634 // Basic block ended in a jump instruction. We can now compute the
683 SANDBOX_DIE("Internal compiler error; invalid basic block encountered");
686 // Proceed to next basic block.
695 // Our basic blocks have been sorted and relative jump offsets have been
697 // basic blocks to be concatenated into a BPF program.