Lines Matching defs:First
750 BasicBlock::iterator First,
771 assert(First == Last);
773 bool ReadFromHead = First.getHeadBit();
790 // There are instructions in this block; if the First iterator was
793 if (Src->empty() || First != Src->begin() || !ReadFromHead)
797 if (!First->hasDbgRecords())
800 createMarker(Dest)->absorbDebugValues(*First->DebugMarker, InsertAtHead);
806 BasicBlock::iterator First,
819 First Last
830 front of the First instruction, then splice like normal, which joins the
834 * move the "~" DbgRecords onto First,
840 // move the DbgRecords onto "First". They'll then be moved naturally in the
847 if (!First.getHeadBit() && First->hasDbgRecords()) {
848 MoreDanglingDbgRecords = Src->getMarker(First);
852 if (First->hasDbgRecords()) {
859 // First Last
860 First->adoptDbgRecords(this, end(), true);
864 DbgMarker *CurMarker = Src->createMarker(&*First);
869 First.setHeadBit(true);
873 spliceDebugInfoImpl(Dest, Src, First, Last);
888 BasicBlock::iterator First,
894 bool ReadFromHead = First.getHeadBit();
912 First Last
914 The splice method is going to take all the instructions from First up to
916 long list. All the DbgRecords attached to instructions _between_ First and
934 Dest.Head = true, First.Head = true, Last.Tail = false
938 First Dest
942 Dest.Head = true, First.Head = false, Last.Tail = false
946 First Dest
950 Dest.Head = false, First.Head = false, Last.Tail = false
954 First Dest
996 // If we're _not_ reading from the head of First, i.e. the "++++" DbgRecords,
999 if (!ReadFromHead && First->hasDbgRecords()) {
1001 Last->adoptDbgRecords(Src, First, true);
1004 DbgMarker *FromFirst = Src->createMarker(First);
1018 // Insert them right at the start of the range we moved, ahead of First
1023 // "normally" have been pushed in front of "First". We move it there now.
1024 DbgMarker *FirstMarker = createMarker(First);
1031 void BasicBlock::splice(iterator Dest, BasicBlock *Src, iterator First,
1036 // Check that First is before Last.
1038 for (auto It = First; It != Last; ++It)
1044 if (First == Last) {
1045 spliceDebugInfoEmptyBlock(Dest, Src, First, Last);
1051 spliceDebugInfo(Dest, Src, First, Last);
1054 getInstList().splice(Dest, Src->getInstList(), First, Last);