Home | History | Annotate | Download | only in optimizing

Lines Matching refs:block

33 // Returns true if `block` has only one predecessor, ends with a Goto
36 static bool IsSimpleBlock(HBasicBlock* block) {
37 if (block->GetPredecessors().size() != 1u) {
40 DCHECK(block->GetPhis().IsEmpty());
43 for (HInstructionIterator it(block->GetInstructions()); !it.Done(); it.Advance()) {
67 // Returns nullptr if `block` has either no phis or there is more than one phi
69 static HPhi* GetSingleChangedPhi(HBasicBlock* block, size_t index1, size_t index2) {
73 for (HInstructionIterator it(block->GetPhis()); !it.Done(); it.Advance()) {
90 // the selection pattern empties a branch block of another occurrence.
92 for (HBasicBlock* block : graph_->GetPostOrder()) {
93 if (!block->EndsWithIf()) continue;
96 HIf* if_instruction = block->GetLastInstruction()->AsIf();
153 block->InsertInstructionBefore(select, if_instruction);
168 DCHECK_EQ(block->GetSingleSuccessor(), false_block);
169 block->MergeWith(false_block);
172 DCHECK_EQ(block->GetSingleSuccessor(), merge_block);
173 block->MergeWith(merge_block);
179 // a simple diamond shape, where the join block is merged with the
180 // entry block. Any following blocks would have had the join block
182 // entry block.