Home | History | Annotate | Download | only in WebAssembly

Lines Matching refs:Header

84     MachineBasicBlock *Header = nullptr;
89 if (!Header) {
90 Header = MBB;
97 assert(MLI.isLoopHeader(Header));
229 // Loop header. The loop predecessor should be sorted above, and the other
234 "Loop header predecessors must be loop predecessors or backedges");
237 // Not a loop header. All predecessors should be sorted above.
240 "Non-loop-header predecessors should be topologically sorted");
248 "The function entry block shouldn't actually be a loop header");
276 MachineBasicBlock *Header = nullptr;
281 Header = Header ? MDT.findNearestCommonDominator(Header, Pred) : Pred;
285 if (!Header)
290 assert(&MBB != &MF.front() && "Header blocks shouldn't have predecessors");
295 for (MachineFunction::iterator I(LayoutPred), E(Header); I != E; --I) {
297 if (ScopeTop->getNumber() > Header->getNumber()) {
302 Header = ScopeTop;
308 // If there's a loop which ends just before MBB which contains Header, we can
312 if (Loop && LoopBottom(Loop) == LayoutPred && Loop->contains(Header))
315 // Decide where in Header to put the BLOCK.
317 MachineLoop *HeaderLoop = MLI.getLoopFor(Header);
319 // Header is the header of a loop that does not lexically contain MBB, so
321 InsertPos = Header->begin();
323 // Otherwise, insert the BLOCK as late in Header as we can, but before any
325 InsertPos = Header->getFirstTerminator();
326 while (InsertPos != Header->begin() &&
332 BuildMI(*Header, InsertPos, DebugLoc(), TII.get(WebAssembly::BLOCK))
338 ScopeTops[Number]->getNumber() > Header->getNumber())
339 ScopeTops[Number] = Header;
342 /// Insert a LOOP marker for a loop starting at MBB (if it's a loop header).
391 // Place the LOOP for MBB if MBB is the header of a loop.