Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:End

243 } // end anonymous namespace
479 if (BS == IntB.end()) return false;
491 if (AS == IntA.end()) return false;
504 if (ValS == IntB.end())
507 // Make sure that the end of the live segment is inside the same block as
510 LIS->getInstructionFromIndex(ValS->end.getPrevSlot());
521 SlotIndex FillerStart = ValS->end, FillerEnd = BS->start;
528 // [ValS.end, BS.begin) of either value number, then we merge the
558 if (AS->end == CopyIdx)
577 std::upper_bound(IntB.begin(), IntB.end(), ASeg.start);
580 for (; BI != IntB.end() && ASeg.end >= BI->start; ++BI) {
583 if (BI->start <= ASeg.start && BI->end > ASeg.start)
585 if (BI->start > ASeg.start && BI->start < ASeg.end)
600 Dst.addSegment(LiveRange::Segment(S.start, S.end, DstValNo));
683 if (US == IntA.end() || US->valno != AValNo)
710 // If ALR and BLR overlaps and end of BLR extends beyond end of ALR, e.g.
736 assert(US != IntA.end() && "Use must be live");
899 // extra spills and fills (e.g. ARM can easily end up copying QQQQPR registers
1585 /// Reg (and therefore the values in this liverange) will end up as
1660 /// IMPLICIT_DEF values should only exist at the end of a basic block that
1762 /// CR_Replace values in LR. Collect end points for restoring the live range
1785 } // end anonymous namespace
1918 // We normally expect IMPLICIT_DEF values to be live only until the end
2145 assert(OtherI != Other.LR.end() && "No conflict?");
2149 SlotIndex End = OtherI->end;
2150 if (End >= MBBEnd) {
2157 << " to " << End << '\n');
2159 if (End.isDead())
2161 TaintExtent.push_back(std::make_pair(End, TaintedLanes));
2164 if (++OtherI == Other.LR.end() || OtherI->start >= MBBEnd)
2231 assert(LastMI && "Range must end at a proper instruction");
2234 assert(MI != MBB->end() && "Bad LastMI");
2244 assert(LastMI && "Range must end at a proper instruction");
2450 // CR_Replace resolution. Collect a set of end points that can be used to
2585 // can't merge subranges when multiple ranges end up in the
2604 // CR_Replace resolution. Collect a set of end points that can be used to
2790 for (MachineBasicBlock::iterator MII = MBB->begin(), E = MBB->end();
2807 // Append the copies evicted by the terminal rule at the end of the list.
2808 LocalWorkList.append(LocalTerminals.begin(), LocalTerminals.end());
2809 WorkList.append(GlobalTerminals.begin(), GlobalTerminals.end());
2813 for (MachineBasicBlock::iterator MII = MBB->begin(), E = MBB->end();
2821 // Append the copies evicted by the terminal rule at the end of the list.
2822 WorkList.append(Terminals.begin(), Terminals.end());
2828 CurrList(WorkList.begin() + PrevSize, WorkList.end());
2830 WorkList.erase(std::remove(WorkList.begin() + PrevSize, WorkList.end(),
2831 (MachineInstr*)nullptr), WorkList.end());
2849 for (MachineFunction::iterator I = MF->begin(), E = MF->end();I != E;++I){
2854 array_pod_sort(MBBs.begin(), MBBs.end(), compareMBBPriority);
2916 array_pod_sort(InflateRegs.begin(), InflateRegs.end());
2917 InflateRegs.erase(std::unique(InflateRegs.begin(), InflateRegs.end()),
2918 InflateRegs.end());