Lines Matching refs:cur_block

455 BasicBlock* MIRGraph::ProcessCanBranch(BasicBlock* cur_block, MIR* insn, DexOffset cur_offset,  in ProcessCanBranch()  argument
472 cur_block->conditional_branch = true; in ProcessCanBranch()
481 cur_block->conditional_branch = true; in ProcessCanBranch()
489 /* immed_pred_block_p */ &cur_block, in ProcessCanBranch()
492 cur_block->taken = taken_block->id; in ProcessCanBranch()
493 taken_block->predecessors.push_back(cur_block->id); in ProcessCanBranch()
501 &cur_block, in ProcessCanBranch()
504 cur_block->fall_through = fallthrough_block->id; in ProcessCanBranch()
505 fallthrough_block->predecessors.push_back(cur_block->id); in ProcessCanBranch()
509 return cur_block; in ProcessCanBranch()
513 BasicBlock* MIRGraph::ProcessCanSwitch(BasicBlock* cur_block, MIR* insn, DexOffset cur_offset, in ProcessCanSwitch() argument
560 if (cur_block->successor_block_list_type != kNotUsed) { in ProcessCanSwitch()
562 << static_cast<int>(cur_block->successor_block_list_type); in ProcessCanSwitch()
564 cur_block->successor_block_list_type = in ProcessCanSwitch()
566 cur_block->successor_blocks.reserve(size); in ProcessCanSwitch()
570 /* immed_pred_block_p */ &cur_block, in ProcessCanSwitch()
580 cur_block->successor_blocks.push_back(successor_block_info); in ProcessCanSwitch()
581 case_block->predecessors.push_back(cur_block->id); in ProcessCanSwitch()
589 cur_block->fall_through = fallthrough_block->id; in ProcessCanSwitch()
590 fallthrough_block->predecessors.push_back(cur_block->id); in ProcessCanSwitch()
591 return cur_block; in ProcessCanSwitch()
595 BasicBlock* MIRGraph::ProcessCanThrow(BasicBlock* cur_block, MIR* insn, DexOffset cur_offset, in ProcessCanThrow() argument
607 if (cur_block->successor_block_list_type != kNotUsed) { in ProcessCanThrow()
610 << static_cast<int>(cur_block->successor_block_list_type); in ProcessCanThrow()
622 if (cur_block->successor_block_list_type == kNotUsed) { in ProcessCanThrow()
623 cur_block->successor_block_list_type = kCatch; in ProcessCanThrow()
633 cur_block->successor_blocks.push_back(successor_block_info); in ProcessCanThrow()
634 catch_block->predecessors.push_back(cur_block->id); in ProcessCanThrow()
636 in_try_block = (cur_block->successor_block_list_type != kNotUsed); in ProcessCanThrow()
642 cur_block->taken = eh_block->id; in ProcessCanThrow()
644 eh_block->predecessors.push_back(cur_block->id); in ProcessCanThrow()
648 cur_block->explicit_throw = true; in ProcessCanThrow()
655 return cur_block; in ProcessCanThrow()
666 return cur_block; in ProcessCanThrow()
688 cur_block->fall_through = new_block->id; in ProcessCanThrow()
689 new_block->predecessors.push_back(cur_block->id); in ProcessCanThrow()
749 BasicBlock* cur_block = CreateNewBB(kDalvikByteCode); in InlineMethod() local
751 cur_block->start_offset = current_offset_; in InlineMethod()
753 entry_block_->fall_through = cur_block->id; in InlineMethod()
754 cur_block->predecessors.push_back(entry_block_->id); in InlineMethod()
783 cur_block->use_lvn = true; // Run local value numbering on this basic block. in InlineMethod()
800 cur_block->AppendMIR(insn); in InlineMethod()
802 DCHECK(cur_block->fall_through == NullBasicBlockId); in InlineMethod()
803 DCHECK(cur_block->taken == NullBasicBlockId); in InlineMethod()
810 cur_block->AppendMIR(insn); in InlineMethod()
814 dex_pc_to_block_map[insn->offset] = cur_block->id; in InlineMethod()
819 cur_block = ProcessCanBranch(cur_block, insn, current_offset_, in InlineMethod()
822 cur_block->terminated_by_return = true; in InlineMethod()
823 cur_block->fall_through = exit_block_->id; in InlineMethod()
824 exit_block_->predecessors.push_back(cur_block->id); in InlineMethod()
838 cur_block = ProcessCanThrow(cur_block, insn, current_offset_, width, flags, try_block_addr_, in InlineMethod()
841 cur_block = ProcessCanSwitch(cur_block, insn, current_offset_, width, in InlineMethod()
869 DCHECK(cur_block->fall_through == NullBasicBlockId || in InlineMethod()
870 GetBasicBlock(cur_block->fall_through) == next_block || in InlineMethod()
871 GetBasicBlock(cur_block->fall_through) == exit_block_); in InlineMethod()
873 if ((cur_block->fall_through == NullBasicBlockId) && (flags & Instruction::kContinue)) { in InlineMethod()
874 cur_block->fall_through = next_block->id; in InlineMethod()
875 next_block->predecessors.push_back(cur_block->id); in InlineMethod()
877 cur_block = next_block; in InlineMethod()