Lines Matching defs:block

36 ArenaVector<HInstruction*>* HInstructionBuilder::GetLocalsFor(HBasicBlock* block) {
37 ArenaVector<HInstruction*>* locals = &locals_for_[block->GetBlockId()];
42 if (block->IsCatchBlock()) {
57 block->AddPhi(phi);
66 HInstruction* HInstructionBuilder::ValueOfLocalAt(HBasicBlock* block, size_t local) {
67 ArenaVector<HInstruction*>* locals = GetLocalsFor(block);
88 DCHECK(!catch_block_visited) << "Catch block visited before its try block.";
93 << "No instructions throwing into a live catch block.";
96 // If the block is a loop header, we know we only have visited the pre header
137 // successfully checked that there is a store dominating any read after this block.
231 HBasicBlock* block = loop_headers_[i - 1];
232 for (HInstructionIterator it(block->GetPhis()); !it.Done(); it.Advance()) {
235 for (HBasicBlock* predecessor : block->GetPredecessors()) {
250 static bool IsBlockPopulated(HBasicBlock* block) {
251 if (block->IsLoopHeader()) {
253 DCHECK(block->GetFirstInstruction()->IsSuspendCheck());
254 return block->GetFirstInstruction() != block->GetLastInstruction();
256 return !block->GetInstructions().IsEmpty();
294 // But we're still creating the environment with locals from the top of the block.
299 // Synthetic block that does not need to be populated.
308 // The previous instruction ended this block.
314 // This dex_pc starts a new basic block.
333 // instruction of the current block is not a branching instruction.
334 // We add an unconditional Goto to the next block.
362 // The compiler also expects the move at the start of basic block so
587 // Returns true if `block` has only one successor which starts at the next
591 HBasicBlock* block) {
593 return block->GetSingleSuccessor()->GetDexPc() == next_dex_pc;
601 // Empty Switch. Code falls through to the next block.
2637 // We finished building this block. Set the current block to null to avoid