Lines Matching defs:Slot

766   /// Read a value/type pair out of the specified record from slot 'Slot'.
767 /// Increment Slot past the number of slots used in the record. Return true on
769 bool getValueTypePair(const SmallVectorImpl<uint64_t> &Record, unsigned &Slot,
772 if (Slot == Record.size()) return true;
773 unsigned ValNo = (unsigned)Record[Slot++];
786 if (Slot == Record.size())
789 TypeID = (unsigned)Record[Slot++];
795 /// Read a value out of the specified record from slot 'Slot'. Increment Slot
798 bool popValue(const SmallVectorImpl<uint64_t> &Record, unsigned &Slot,
801 if (getValue(Record, Slot, InstNum, Ty, TyID, ResVal, ConstExprInsertBB))
804 ++Slot;
808 /// Like popValue, but does not increment the Slot number.
809 bool getValue(const SmallVectorImpl<uint64_t> &Record, unsigned Slot,
812 ResVal = getValue(Record, Slot, InstNum, Ty, TyID, ConstExprInsertBB);
818 Value *getValue(const SmallVectorImpl<uint64_t> &Record, unsigned Slot,
821 if (Slot == Record.size()) return nullptr;
822 unsigned ValNo = (unsigned)Record[Slot];
830 Value *getValueSigned(const SmallVectorImpl<uint64_t> &Record, unsigned Slot,
833 if (Slot == Record.size()) return nullptr;
834 unsigned ValNo = (unsigned)decodeSignRotatedValue(Record[Slot]);
996 void parseTypeIdCompatibleVtableInfo(ArrayRef<uint64_t> Record, size_t &Slot,
6567 unsigned Slot = 0;
6569 DILocation *DIL = cast<DILocation>(getFnMetadataByID(Record[Slot++]));
6571 cast<DILocalVariable>(getFnMetadataByID(Record[Slot++]));
6573 cast<DIExpression>(getFnMetadataByID(Record[Slot++]));
6583 // result, getValueTypePair only ever increments Slot by one here (once
6585 unsigned SlotBefore = Slot;
6586 if (getValueTypePair(Record, Slot, NextValueNo, V, TyID, CurBB))
6589 assert((SlotBefore == Slot - 1) && "unexpected fwd ref");
6592 RawLocation = getFnMetadataByID(Record[Slot++]);
6607 DIAssignID *ID = cast<DIAssignID>(getFnMetadataByID(Record[Slot++]));
6609 cast<DIExpression>(getFnMetadataByID(Record[Slot++]));
6610 Metadata *Addr = getFnMetadataByID(Record[Slot++]);
7402 parseWholeProgramDevirtResolutionByArg(ArrayRef<uint64_t> Record, size_t &Slot,
7404 uint64_t ArgNum = Record[Slot++];
7406 Wpd.ResByArg[{Record.begin() + Slot, Record.begin() + Slot + ArgNum}];
7407 Slot += ArgNum;
7410 static_cast<WholeProgramDevirtResolution::ByArg::Kind>(Record[Slot++]);
7411 B.Info = Record[Slot++];
7412 B.Byte = Record[Slot++];
7413 B.Bit = Record[Slot++];
7417 StringRef Strtab, size_t &Slot,
7419 uint64_t Id = Record[Slot++];
7422 Wpd.TheKind = static_cast<WholeProgramDevirtResolution::Kind>(Record[Slot++]);
7423 Wpd.SingleImplName = {Strtab.data() + Record[Slot],
7424 static_cast<size_t>(Record[Slot + 1])};
7425 Slot += 2;
7427 uint64_t ResByArgNum = Record[Slot++];
7429 parseWholeProgramDevirtResolutionByArg(Record, Slot, Wpd);
7435 size_t Slot = 0;
7437 {Strtab.data() + Record[Slot], static_cast<size_t>(Record[Slot + 1])});
7438 Slot += 2;
7440 TypeId.TTRes.TheKind = static_cast<TypeTestResolution::Kind>(Record[Slot++]);
7441 TypeId.TTRes.SizeM1BitWidth = Record[Slot++];
7442 TypeId.TTRes.AlignLog2 = Record[Slot++];
7443 TypeId.TTRes.SizeM1 = Record[Slot++];
7444 TypeId.TTRes.BitMask = Record[Slot++];
7445 TypeId.TTRes.InlineBits = Record[Slot++];
7447 while (Slot < Record.size())
7448 parseWholeProgramDevirtResolution(Record, Strtab, Slot, TypeId);
7487 ArrayRef<uint64_t> Record, size_t &Slot,
7489 uint64_t Offset = Record[Slot++];
7490 ValueInfo Callee = std::get<0>(getValueInfoFromValueId(Record[Slot++]));
7496 size_t Slot = 0;
7499 {Strtab.data() + Record[Slot],
7500 static_cast<size_t>(Record[Slot + 1])});
7501 Slot += 2;
7503 while (Slot < Record.size())
7504 parseTypeIdCompatibleVtableInfo(Record, Slot, TypeId);