Home | History | Annotate | Download | only in Hexagon

Lines Matching refs:Header

385   MachineBasicBlock *Header = L->getHeader();
389 if (!Header || !Preheader || !Latch || !ExitingBlock)
405 for (instr_iterator I = Header->instr_begin(), E = Header->instr_end();
588 MachineBasicBlock *Header = L->getHeader();
590 // the header. Otherwise, branch to TB could be exiting the loop, and
591 // the fall through can go to the header.
600 TB = (LTB == Header) ? LTB : LFB;
602 FB = (LTB == Header) ? LTB: LFB;
604 assert ((!FB || TB == Header || FB == Header) && "Branches not to header?");
605 if (!TB || (FB && TB != Header && FB != Header))
610 // If TB is not the header, it means that the "not-taken" path must lead
611 // to the header.
612 bool Negated = TII->predOpcodeHasNot(Cond) ^ (TB != Header);
665 if (!MDT->properlyDominates(DefBB, Header))
672 if (!MDT->properlyDominates(DefBB, Header))
1088 assert(L->getHeader() && "Loop without a header?");
1568 MachineBasicBlock *Header = L->getHeader();
1572 if (!(Header && Latch && ExitingBlock))
1588 for (instr_iterator I = Header->instr_begin(), E = Header->instr_end();
1634 // unconditional branch to the loop header.
1636 TB = (LTB == Header) ? LTB : LFB;
1638 FB = (LTB == Header) ? LTB : LFB;
1640 if (TB != Header) {
1641 if (FB != Header) {
1642 // The latch/exit block does not go back to the header.
1645 // FB is the header (i.e., uncond. jump to branch header)
1817 MachineBasicBlock *Header = L->getHeader();
1820 MachineFunction *MF = Header->getParent();
1828 if (!Latch || !ExitingBlock || Header->hasAddressTaken())
1836 MBBVector Preds(Header->pred_begin(), Header->pred_end());
1851 MF->insert(Header->getIterator(), NewPH);
1853 if (Header->pred_size() > 2) {
1854 // Ensure that the header has only two predecessors: the preheader and
1855 // the loop latch. Any additional predecessors of the header should
1857 // header and create appropriate corresponding PHI nodes in the preheader.
1859 for (instr_iterator I = Header->instr_begin(), E = Header->instr_end();
1872 // Copy all non-latch operands of a header's PHI node to the newly
1901 assert(Header->pred_size() == 2);
1903 // The header has only two predecessors, but the non-latch predecessor
1906 // all we need is to adjust existing PHIs in the header to now refer to
1908 for (instr_iterator I = Header->instr_begin(), E = Header->instr_end();
1920 // If any of the predecessors falls through to the header, insert a branch
1934 if (TB != Header && (Tmp2.empty() || FB != Header))
1936 PB->ReplaceUsesOfBlockWith(Header, NewPH);
1940 // It can happen that the latch block will fall through into the header.
1941 // Insert an unconditional branch to the header.
1947 TII->InsertBranch(*Latch, Header, nullptr, EmptyCond, DL);
1949 // Finally, the branch from the preheader to the header.
1950 TII->InsertBranch(*NewPH, Header, nullptr, EmptyCond, DL);
1951 NewPH->addSuccessor(Header);
1959 MachineDomTreeNode *HDom = MDT->getNode(Header);
1961 MDT->changeImmediateDominator(Header, NewPH);