Lines Matching refs:header
365 HBasicBlock* header = node->loop_info->GetHeader();
367 // Scan the phis in the header to find opportunities to simplify an induction
372 for (HInstructionIterator it(header->GetPhis()); !it.Done(); it.Advance()) {
428 HBasicBlock* header = node->loop_info->GetHeader();
430 // Ensure loop header logic is finite.
436 // Ensure there is only a single loop-body (besides the header).
439 if (it.Current() != header) {
447 if (header->GetSuccessors().size() != 2) {
450 HBasicBlock* exit = (header->GetSuccessors()[0] == body)
451 ? header->GetSuccessors()[1]
452 : header->GetSuccessors()[0];
460 HInstruction* phi = header->GetFirstPhi();
462 if (TrySetSimpleLoopHeader(header)) {
472 exit->RemovePredecessor(header);
473 header->RemoveSuccessor(exit);
474 header->RemoveDominatedBlock(exit);
475 header->DisconnectAndDelete();
488 if (TrySetSimpleLoopHeader(header) &&
578 HBasicBlock* header = node->loop_info->GetHeader();
587 bool is_simple_loop_header = TrySetSimpleLoopHeader(header); // fills iset_
621 graph_->TransformLoopForVectorization(header, block, exit),
641 // and removing all instructions from the header.
643 while (!header->GetFirstInstruction()->IsGoto()) {
644 header->RemoveInstruction(header->GetFirstInstruction());
646 // Update loop hierarchy: the old header now resides in the
648 header->SetLoopInformation(preheader->GetLoopInformation()); // outward
668 // Generate header and prepare body.