Lines Matching defs:block
273 // Iterate through the instructions block by block until the end of the
282 // Make a basic block using the label instruction.
283 std::unique_ptr<opt::BasicBlock> block =
288 // of the function, adding each such instruction to the block.
295 block->AddInstruction(InstructionFromMessage(
299 // Add the block to the new function.
300 new_function->AddBasicBlock(std::move(block));
344 for (auto& block : *added_function) {
345 for (auto& inst : block) {
377 ir_context->cfg()->block(loop_header_block_id);
395 for (auto& block : *added_function) {
396 if (block.IsLoopHeader()) {
397 loop_headers.push_back(&block);
484 // block, via an instruction of the form:
499 // Look for the loop's back-edge block. This is a predecessor of the loop
504 // The loop's back-edge block must be unreachable. This means that the
510 // If the loop's merge block is unreachable, then there are no constraints
511 // on where the merge block appears in relation to the blocks of the loop.
513 // block to the merge block: the branch might make the loop merge reachable,
515 // blocks in the loop. Since a block needs to appear before those blocks it
540 // The back-edge block either has the form:
594 auto back_edge_block = ir_context->cfg()->block(back_edge_block_id);
610 "A back edge edge block must branch to"
669 // Add the new instructions at the end of the back edge block, before the
670 // terminator and any loop merge instruction (as the back edge block can
686 // Check that, if the merge block starts with OpPhi instructions, suitable
688 // to the new incoming edge from the back edge block.
689 auto merge_block = ir_context->cfg()->block(loop_header->MergeBlockId());