Lines Matching refs:Record
157 static bool convertToString(ArrayRef<uint64_t> Record, unsigned Idx, in convertToString() argument
159 if (Idx > Record.size()) in convertToString()
162 Result.append(Record.begin() + Idx, Record.end()); in convertToString()
183 SmallVector<uint64_t, 64> Record; in readIdentificationBlock() local
198 case BitstreamEntry::Record: in readIdentificationBlock()
204 Record.clear(); in readIdentificationBlock()
205 Expected<unsigned> MaybeBitCode = Stream.readRecord(Entry.ID, Record); in readIdentificationBlock()
212 convertToString(Record, 0, ProducerIdentification); in readIdentificationBlock()
215 unsigned epoch = (unsigned)Record[0]; in readIdentificationBlock()
250 case BitstreamEntry::Record: in readIdentificationCode()
262 SmallVector<uint64_t, 64> Record; in hasObjCCategoryInModule() local
277 case BitstreamEntry::Record: in hasObjCCategoryInModule()
283 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in hasObjCCategoryInModule()
291 if (convertToString(Record, 0, S)) in hasObjCCategoryInModule()
300 Record.clear(); in hasObjCCategoryInModule()
328 case BitstreamEntry::Record: in hasObjCCategory()
340 SmallVector<uint64_t, 64> Record; in readModuleTriple() local
357 case BitstreamEntry::Record: in readModuleTriple()
363 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in readModuleTriple()
370 if (convertToString(Record, 0, S)) in readModuleTriple()
376 Record.clear(); in readModuleTriple()
405 case BitstreamEntry::Record: in readTriple()
431 Expected<unsigned> parseVersionRecord(ArrayRef<uint64_t> Record);
437 readNameFromStrtab(ArrayRef<uint64_t> Record);
458 BitcodeReaderBase::parseVersionRecord(ArrayRef<uint64_t> Record) { in parseVersionRecord() argument
459 if (Record.empty()) in parseVersionRecord()
461 unsigned ModuleVersion = Record[0]; in parseVersionRecord()
469 BitcodeReaderBase::readNameFromStrtab(ArrayRef<uint64_t> Record) { in readNameFromStrtab() argument
471 return {"", Record}; in readNameFromStrtab()
473 if (Record[0] + Record[1] > Strtab.size()) in readNameFromStrtab()
475 return {StringRef(Strtab.data() + Record[0], Record[1]), Record.slice(2)}; in readNameFromStrtab()
741 bool getValueTypePair(const SmallVectorImpl<uint64_t> &Record, unsigned &Slot, in getValueTypePair() argument
744 if (Slot == Record.size()) return true; in getValueTypePair()
745 unsigned ValNo = (unsigned)Record[Slot++]; in getValueTypePair()
758 if (Slot == Record.size()) in getValueTypePair()
761 TypeID = (unsigned)Record[Slot++]; in getValueTypePair()
770 bool popValue(const SmallVectorImpl<uint64_t> &Record, unsigned &Slot, in popValue() argument
773 if (getValue(Record, Slot, InstNum, Ty, TyID, ResVal, ConstExprInsertBB)) in popValue()
781 bool getValue(const SmallVectorImpl<uint64_t> &Record, unsigned Slot, in getValue() argument
784 ResVal = getValue(Record, Slot, InstNum, Ty, TyID, ConstExprInsertBB); in getValue()
790 Value *getValue(const SmallVectorImpl<uint64_t> &Record, unsigned Slot, in getValue() argument
793 if (Slot == Record.size()) return nullptr; in getValue()
794 unsigned ValNo = (unsigned)Record[Slot]; in getValue()
802 Value *getValueSigned(const SmallVectorImpl<uint64_t> &Record, unsigned Slot, in getValueSigned() argument
805 if (Slot == Record.size()) return nullptr; in getValueSigned()
806 unsigned ValNo = (unsigned)decodeSignRotatedValue(Record[Slot]); in getValueSigned()
827 Error parseComdatRecord(ArrayRef<uint64_t> Record);
828 Error parseGlobalVarRecord(ArrayRef<uint64_t> Record);
829 Error parseFunctionRecord(ArrayRef<uint64_t> Record);
831 ArrayRef<uint64_t> Record);
840 Expected<Value *> recordValue(SmallVectorImpl<uint64_t> &Record,
843 ArrayRef<uint64_t> Record);
922 std::vector<ValueInfo> makeRefList(ArrayRef<uint64_t> Record);
923 std::vector<FunctionSummary::EdgeTy> makeCallList(ArrayRef<uint64_t> Record,
929 void parseTypeIdCompatibleVtableSummaryRecord(ArrayRef<uint64_t> Record);
930 void parseTypeIdCompatibleVtableInfo(ArrayRef<uint64_t> Record, size_t &Slot,
933 parseParamAccesses(ArrayRef<uint64_t> Record);
1778 SmallVector<uint64_t, 64> Record; in parseAttributeBlock() local
1795 case BitstreamEntry::Record: in parseAttributeBlock()
1801 Record.clear(); in parseAttributeBlock()
1802 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseAttributeBlock()
1810 if (Record.size() & 1) in parseAttributeBlock()
1813 for (unsigned i = 0, e = Record.size(); i != e; i += 2) { in parseAttributeBlock()
1815 decodeLLVMAttributesForBitcode(B, Record[i+1]); in parseAttributeBlock()
1816 Attrs.push_back(AttributeList::get(Context, Record[i], B)); in parseAttributeBlock()
1823 for (unsigned i = 0, e = Record.size(); i != e; ++i) in parseAttributeBlock()
1824 Attrs.push_back(MAttributeGroups[Record[i]]); in parseAttributeBlock()
2033 SmallVector<uint64_t, 64> Record; in parseAttributeGroupBlock() local
2048 case BitstreamEntry::Record: in parseAttributeGroupBlock()
2054 Record.clear(); in parseAttributeGroupBlock()
2055 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseAttributeGroupBlock()
2062 if (Record.size() < 3) in parseAttributeGroupBlock()
2065 uint64_t GrpID = Record[0]; in parseAttributeGroupBlock()
2066 uint64_t Idx = Record[1]; // Index of the object this attribute refers to. in parseAttributeGroupBlock()
2069 for (unsigned i = 2, e = Record.size(); i != e; ++i) { in parseAttributeGroupBlock()
2070 if (Record[i] == 0) { // Enum attribute in parseAttributeGroupBlock()
2072 if (Error Err = parseAttrKind(Record[++i], &Kind)) in parseAttributeGroupBlock()
2090 } else if (Record[i] == 1) { // Integer attribute in parseAttributeGroupBlock()
2092 if (Error Err = parseAttrKind(Record[++i], &Kind)) in parseAttributeGroupBlock()
2097 B.addAlignmentAttr(Record[++i]); in parseAttributeGroupBlock()
2099 B.addStackAlignmentAttr(Record[++i]); in parseAttributeGroupBlock()
2101 B.addDereferenceableAttr(Record[++i]); in parseAttributeGroupBlock()
2103 B.addDereferenceableOrNullAttr(Record[++i]); in parseAttributeGroupBlock()
2105 B.addAllocSizeAttrFromRawRepr(Record[++i]); in parseAttributeGroupBlock()
2107 B.addVScaleRangeAttrFromRawRepr(Record[++i]); in parseAttributeGroupBlock()
2109 B.addUWTableAttr(UWTableKind(Record[++i])); in parseAttributeGroupBlock()
2111 B.addAllocKindAttr(static_cast<AllocFnKind>(Record[++i])); in parseAttributeGroupBlock()
2112 } else if (Record[i] == 3 || Record[i] == 4) { // String attribute in parseAttributeGroupBlock()
2113 bool HasValue = (Record[i++] == 4); in parseAttributeGroupBlock()
2117 while (Record[i] != 0 && i != e) in parseAttributeGroupBlock()
2118 KindStr += Record[i++]; in parseAttributeGroupBlock()
2119 assert(Record[i] == 0 && "Kind string not null terminated"); in parseAttributeGroupBlock()
2124 while (Record[i] != 0 && i != e) in parseAttributeGroupBlock()
2125 ValStr += Record[i++]; in parseAttributeGroupBlock()
2126 assert(Record[i] == 0 && "Value string not null terminated"); in parseAttributeGroupBlock()
2130 } else if (Record[i] == 5 || Record[i] == 6) { in parseAttributeGroupBlock()
2131 bool HasType = Record[i] == 6; in parseAttributeGroupBlock()
2133 if (Error Err = parseAttrKind(Record[++i], &Kind)) in parseAttributeGroupBlock()
2138 B.addTypeAttr(Kind, HasType ? getTypeByID(Record[++i]) : nullptr); in parseAttributeGroupBlock()
2163 SmallVector<uint64_t, 64> Record; in parseTypeTableBody() local
2183 case BitstreamEntry::Record: in parseTypeTableBody()
2189 Record.clear(); in parseTypeTableBody()
2192 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseTypeTableBody()
2201 if (Record.empty()) in parseTypeTableBody()
2203 TypeList.resize(Record[0]); in parseTypeTableBody()
2245 if (Record.empty()) in parseTypeTableBody()
2248 uint64_t NumBits = Record[0]; in parseTypeTableBody()
2257 if (Record.empty()) in parseTypeTableBody()
2260 if (Record.size() == 2) in parseTypeTableBody()
2261 AddressSpace = Record[1]; in parseTypeTableBody()
2262 ResultTy = getTypeByID(Record[0]); in parseTypeTableBody()
2268 ContainedIDs.push_back(Record[0]); in parseTypeTableBody()
2273 if (Record.size() != 1) in parseTypeTableBody()
2280 unsigned AddressSpace = Record[0]; in parseTypeTableBody()
2287 if (Record.size() < 3) in parseTypeTableBody()
2290 for (unsigned i = 3, e = Record.size(); i != e; ++i) { in parseTypeTableBody()
2291 if (Type *T = getTypeByID(Record[i])) in parseTypeTableBody()
2297 ResultTy = getTypeByID(Record[2]); in parseTypeTableBody()
2298 if (!ResultTy || ArgTys.size() < Record.size()-3) in parseTypeTableBody()
2301 ContainedIDs.append(Record.begin() + 2, Record.end()); in parseTypeTableBody()
2302 ResultTy = FunctionType::get(ResultTy, ArgTys, Record[0]); in parseTypeTableBody()
2307 if (Record.size() < 2) in parseTypeTableBody()
2310 for (unsigned i = 2, e = Record.size(); i != e; ++i) { in parseTypeTableBody()
2311 if (Type *T = getTypeByID(Record[i])) { in parseTypeTableBody()
2320 ResultTy = getTypeByID(Record[1]); in parseTypeTableBody()
2321 if (!ResultTy || ArgTys.size() < Record.size()-2) in parseTypeTableBody()
2324 ContainedIDs.append(Record.begin() + 1, Record.end()); in parseTypeTableBody()
2325 ResultTy = FunctionType::get(ResultTy, ArgTys, Record[0]); in parseTypeTableBody()
2329 if (Record.empty()) in parseTypeTableBody()
2332 for (unsigned i = 1, e = Record.size(); i != e; ++i) { in parseTypeTableBody()
2333 if (Type *T = getTypeByID(Record[i])) in parseTypeTableBody()
2338 if (EltTys.size() != Record.size()-1) in parseTypeTableBody()
2340 ContainedIDs.append(Record.begin() + 1, Record.end()); in parseTypeTableBody()
2341 ResultTy = StructType::get(Context, EltTys, Record[0]); in parseTypeTableBody()
2345 if (convertToString(Record, 0, TypeName)) in parseTypeTableBody()
2350 if (Record.empty()) in parseTypeTableBody()
2366 for (unsigned i = 1, e = Record.size(); i != e; ++i) { in parseTypeTableBody()
2367 if (Type *T = getTypeByID(Record[i])) in parseTypeTableBody()
2372 if (EltTys.size() != Record.size()-1) in parseTypeTableBody()
2374 Res->setBody(EltTys, Record[0]); in parseTypeTableBody()
2375 ContainedIDs.append(Record.begin() + 1, Record.end()); in parseTypeTableBody()
2380 if (Record.size() != 1) in parseTypeTableBody()
2398 if (Record.size() < 2) in parseTypeTableBody()
2400 ResultTy = getTypeByID(Record[1]); in parseTypeTableBody()
2403 ContainedIDs.push_back(Record[1]); in parseTypeTableBody()
2404 ResultTy = ArrayType::get(ResultTy, Record[0]); in parseTypeTableBody()
2408 if (Record.size() < 2) in parseTypeTableBody()
2410 if (Record[0] == 0) in parseTypeTableBody()
2412 ResultTy = getTypeByID(Record[1]); in parseTypeTableBody()
2415 bool Scalable = Record.size() > 2 ? Record[2] : false; in parseTypeTableBody()
2416 ContainedIDs.push_back(Record[1]); in parseTypeTableBody()
2417 ResultTy = VectorType::get(ResultTy, Record[0], Scalable); in parseTypeTableBody()
2441 SmallVector<uint64_t, 64> Record; in parseOperandBundleTags() local
2455 case BitstreamEntry::Record: in parseOperandBundleTags()
2462 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseOperandBundleTags()
2470 if (convertToString(Record, 0, BundleTags.back())) in parseOperandBundleTags()
2472 Record.clear(); in parseOperandBundleTags()
2483 SmallVector<uint64_t, 64> Record; in parseSyncScopeNames() local
2498 case BitstreamEntry::Record: in parseSyncScopeNames()
2506 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseSyncScopeNames()
2513 if (convertToString(Record, 0, SSN)) in parseSyncScopeNames()
2517 Record.clear(); in parseSyncScopeNames()
2522 Expected<Value *> BitcodeReader::recordValue(SmallVectorImpl<uint64_t> &Record, in recordValue() argument
2525 if (convertToString(Record, NameIndex, ValueName)) in recordValue()
2527 unsigned ValueID = Record[0]; in recordValue()
2562 ArrayRef<uint64_t> Record) { in setDeferredFunctionInfo() argument
2566 uint64_t FuncWordOffset = Record[1] - 1; in setDeferredFunctionInfo()
2584 SmallVector<uint64_t, 64> Record; in parseGlobalValueSymbolTable() local
2597 case BitstreamEntry::Record: in parseGlobalValueSymbolTable()
2601 Record.clear(); in parseGlobalValueSymbolTable()
2602 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseGlobalValueSymbolTable()
2607 unsigned ValueID = Record[0]; in parseGlobalValueSymbolTable()
2611 cast<Function>(ValueList[ValueID]), Record); in parseGlobalValueSymbolTable()
2659 SmallVector<uint64_t, 64> Record; in parseValueSymbolTable() local
2681 case BitstreamEntry::Record: in parseValueSymbolTable()
2687 Record.clear(); in parseValueSymbolTable()
2688 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseValueSymbolTable()
2695 Expected<Value *> ValOrErr = recordValue(Record, 1, TT); in parseValueSymbolTable()
2703 Expected<Value *> ValOrErr = recordValue(Record, 2, TT); in parseValueSymbolTable()
2711 setDeferredFunctionInfo(FuncBitcodeOffsetDelta, F, Record); in parseValueSymbolTable()
2715 if (convertToString(Record, 1, ValueName)) in parseValueSymbolTable()
2717 BasicBlock *BB = getBasicBlock(Record[0]); in parseValueSymbolTable()
2843 SmallVector<uint64_t, 64> Record; in parseConstants() local
2866 case BitstreamEntry::Record: in parseConstants()
2872 Record.clear(); in parseConstants()
2875 Expected<unsigned> MaybeBitCode = Stream.readRecord(Entry.ID, Record); in parseConstants()
2887 if (Record.empty()) in parseConstants()
2889 if (Record[0] >= TypeList.size() || !TypeList[Record[0]]) in parseConstants()
2891 if (TypeList[Record[0]] == VoidType) in parseConstants()
2893 CurTyID = Record[0]; in parseConstants()
2903 if (!CurTy->isIntegerTy() || Record.empty()) in parseConstants()
2905 V = ConstantInt::get(CurTy, decodeSignRotatedValue(Record[0])); in parseConstants()
2908 if (!CurTy->isIntegerTy() || Record.empty()) in parseConstants()
2912 readWideAPInt(Record, cast<IntegerType>(CurTy)->getBitWidth()); in parseConstants()
2918 if (Record.empty()) in parseConstants()
2922 APInt(16, (uint16_t)Record[0]))); in parseConstants()
2925 APInt(16, (uint32_t)Record[0]))); in parseConstants()
2928 APInt(32, (uint32_t)Record[0]))); in parseConstants()
2931 APInt(64, Record[0]))); in parseConstants()
2935 Rearrange[0] = (Record[1] & 0xffffLL) | (Record[0] << 16); in parseConstants()
2936 Rearrange[1] = Record[0] >> 48; in parseConstants()
2941 APInt(128, Record))); in parseConstants()
2944 APInt(128, Record))); in parseConstants()
2951 if (Record.empty()) in parseConstants()
2954 unsigned Size = Record.size(); in parseConstants()
2957 Elts.push_back(Record[i]); in parseConstants()
2975 if (Record.empty()) in parseConstants()
2978 SmallString<16> Elts(Record.begin(), Record.end()); in parseConstants()
2984 if (Record.empty()) in parseConstants()
2993 SmallVector<uint8_t, 16> Elts(Record.begin(), Record.end()); in parseConstants()
2999 SmallVector<uint16_t, 16> Elts(Record.begin(), Record.end()); in parseConstants()
3005 SmallVector<uint32_t, 16> Elts(Record.begin(), Record.end()); in parseConstants()
3011 SmallVector<uint64_t, 16> Elts(Record.begin(), Record.end()); in parseConstants()
3017 SmallVector<uint16_t, 16> Elts(Record.begin(), Record.end()); in parseConstants()
3023 SmallVector<uint16_t, 16> Elts(Record.begin(), Record.end()); in parseConstants()
3029 SmallVector<uint32_t, 16> Elts(Record.begin(), Record.end()); in parseConstants()
3035 SmallVector<uint64_t, 16> Elts(Record.begin(), Record.end()); in parseConstants()
3046 if (Record.size() < 2) in parseConstants()
3048 int Opc = getDecodedUnaryOpcode(Record[0], CurTy); in parseConstants()
3052 V = BitcodeConstant::create(Alloc, CurTy, Opc, (unsigned)Record[1]); in parseConstants()
3057 if (Record.size() < 3) in parseConstants()
3059 int Opc = getDecodedBinaryOpcode(Record[0], CurTy); in parseConstants()
3064 if (Record.size() >= 4) { in parseConstants()
3069 if (Record[3] & (1 << bitc::OBO_NO_SIGNED_WRAP)) in parseConstants()
3071 if (Record[3] & (1 << bitc::OBO_NO_UNSIGNED_WRAP)) in parseConstants()
3077 if (Record[3] & (1 << bitc::PEO_EXACT)) in parseConstants()
3082 {(unsigned)Record[1], (unsigned)Record[2]}); in parseConstants()
3087 if (Record.size() < 3) in parseConstants()
3089 int Opc = getDecodedCastOpcode(Record[0]); in parseConstants()
3093 unsigned OpTyID = Record[1]; in parseConstants()
3097 V = BitcodeConstant::create(Alloc, CurTy, Opc, (unsigned)Record[2]); in parseConstants()
3105 if (Record.size() < 2) in parseConstants()
3110 Record.size() % 2) in parseConstants()
3111 PointeeType = getTypeByID(Record[OpNum++]); in parseConstants()
3116 uint64_t Op = Record[OpNum++]; in parseConstants()
3123 unsigned BaseTypeID = Record[OpNum]; in parseConstants()
3124 while (OpNum != Record.size()) { in parseConstants()
3125 unsigned ElTyID = Record[OpNum++]; in parseConstants()
3129 Elts.push_back(Record[OpNum++]); in parseConstants()
3160 if (Record.size() < 3) in parseConstants()
3165 {(unsigned)Record[0], (unsigned)Record[1], (unsigned)Record[2]}); in parseConstants()
3170 if (Record.size() < 3) in parseConstants()
3172 unsigned OpTyID = Record[0]; in parseConstants()
3178 if (Record.size() == 4) { in parseConstants()
3179 unsigned IdxTyID = Record[2]; in parseConstants()
3183 IdxRecord = Record[3]; in parseConstants()
3186 IdxRecord = Record[2]; in parseConstants()
3189 {(unsigned)Record[1], IdxRecord}); in parseConstants()
3195 if (Record.size() < 3 || !OpTy) in parseConstants()
3198 if (Record.size() == 4) { in parseConstants()
3199 unsigned IdxTyID = Record[2]; in parseConstants()
3203 IdxRecord = Record[3]; in parseConstants()
3206 IdxRecord = Record[2]; in parseConstants()
3210 {(unsigned)Record[0], (unsigned)Record[1], IdxRecord}); in parseConstants()
3215 if (Record.size() < 3 || !OpTy) in parseConstants()
3219 {(unsigned)Record[0], (unsigned)Record[1], (unsigned)Record[2]}); in parseConstants()
3225 dyn_cast_or_null<VectorType>(getTypeByID(Record[0])); in parseConstants()
3226 if (Record.size() < 4 || !RTy || !OpTy) in parseConstants()
3230 {(unsigned)Record[1], (unsigned)Record[2], (unsigned)Record[3]}); in parseConstants()
3234 if (Record.size() < 4) in parseConstants()
3236 unsigned OpTyID = Record[0]; in parseConstants()
3244 (uint8_t)Record[3]}, in parseConstants()
3245 {(unsigned)Record[1], (unsigned)Record[2]}); in parseConstants()
3251 if (Record.size() < 2) in parseConstants()
3254 bool HasSideEffects = Record[0] & 1; in parseConstants()
3255 bool IsAlignStack = Record[0] >> 1; in parseConstants()
3256 unsigned AsmStrSize = Record[1]; in parseConstants()
3257 if (2+AsmStrSize >= Record.size()) in parseConstants()
3259 unsigned ConstStrSize = Record[2+AsmStrSize]; in parseConstants()
3260 if (3+AsmStrSize+ConstStrSize > Record.size()) in parseConstants()
3264 AsmStr += (char)Record[2+i]; in parseConstants()
3266 ConstrStr += (char)Record[3+AsmStrSize+i]; in parseConstants()
3277 if (Record.size() < 2) in parseConstants()
3280 bool HasSideEffects = Record[0] & 1; in parseConstants()
3281 bool IsAlignStack = (Record[0] >> 1) & 1; in parseConstants()
3282 unsigned AsmDialect = Record[0] >> 2; in parseConstants()
3283 unsigned AsmStrSize = Record[1]; in parseConstants()
3284 if (2+AsmStrSize >= Record.size()) in parseConstants()
3286 unsigned ConstStrSize = Record[2+AsmStrSize]; in parseConstants()
3287 if (3+AsmStrSize+ConstStrSize > Record.size()) in parseConstants()
3291 AsmStr += (char)Record[2+i]; in parseConstants()
3293 ConstrStr += (char)Record[3+AsmStrSize+i]; in parseConstants()
3304 if (Record.size() < 2) in parseConstants()
3308 bool HasSideEffects = Record[OpNum] & 1; in parseConstants()
3309 bool IsAlignStack = (Record[OpNum] >> 1) & 1; in parseConstants()
3310 unsigned AsmDialect = (Record[OpNum] >> 2) & 1; in parseConstants()
3311 bool CanThrow = (Record[OpNum] >> 3) & 1; in parseConstants()
3313 unsigned AsmStrSize = Record[OpNum]; in parseConstants()
3315 if (OpNum + AsmStrSize >= Record.size()) in parseConstants()
3317 unsigned ConstStrSize = Record[OpNum + AsmStrSize]; in parseConstants()
3318 if (OpNum + 1 + AsmStrSize + ConstStrSize > Record.size()) in parseConstants()
3322 AsmStr += (char)Record[OpNum + i]; in parseConstants()
3325 ConstrStr += (char)Record[OpNum + AsmStrSize + i]; in parseConstants()
3336 if (Record.size() < 3) in parseConstants()
3339 auto *FnTy = dyn_cast_or_null<FunctionType>(getTypeByID(Record[OpNum])); in parseConstants()
3344 bool HasSideEffects = Record[OpNum] & 1; in parseConstants()
3345 bool IsAlignStack = (Record[OpNum] >> 1) & 1; in parseConstants()
3346 unsigned AsmDialect = (Record[OpNum] >> 2) & 1; in parseConstants()
3347 bool CanThrow = (Record[OpNum] >> 3) & 1; in parseConstants()
3349 unsigned AsmStrSize = Record[OpNum]; in parseConstants()
3351 if (OpNum + AsmStrSize >= Record.size()) in parseConstants()
3353 unsigned ConstStrSize = Record[OpNum + AsmStrSize]; in parseConstants()
3354 if (OpNum + 1 + AsmStrSize + ConstStrSize > Record.size()) in parseConstants()
3358 AsmStr += (char)Record[OpNum + i]; in parseConstants()
3361 ConstrStr += (char)Record[OpNum + AsmStrSize + i]; in parseConstants()
3368 if (Record.size() < 3) in parseConstants()
3370 unsigned FnTyID = Record[0]; in parseConstants()
3376 {BitcodeConstant::BlockAddressOpcode, 0, (unsigned)Record[2]}, in parseConstants()
3377 Record[1]); in parseConstants()
3381 if (Record.size() < 2) in parseConstants()
3383 unsigned GVTyID = Record[0]; in parseConstants()
3388 Alloc, CurTy, BitcodeConstant::DSOLocalEquivalentOpcode, Record[1]); in parseConstants()
3392 if (Record.size() < 2) in parseConstants()
3394 unsigned GVTyID = Record[0]; in parseConstants()
3399 Record[1]); in parseConstants()
3416 SmallVector<uint64_t, 64> Record; in parseUseLists() local
3430 case BitstreamEntry::Record: in parseUseLists()
3436 Record.clear(); in parseUseLists()
3438 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseUseLists()
3448 unsigned RecordLength = Record.size(); in parseUseLists()
3452 unsigned ID = Record.pop_back_val(); in parseUseLists()
3463 if (++NumUses > Record.size()) in parseUseLists()
3465 Order[&U] = Record[NumUses - 1]; in parseUseLists()
3467 if (Order.size() != Record.size() || NumUses > Record.size()) in parseUseLists()
3602 SmallVector<uint64_t, 64> Record; in rememberAndSkipFunctionBodies() local
3640 Error BitcodeReader::parseComdatRecord(ArrayRef<uint64_t> Record) { in parseComdatRecord() argument
3644 std::tie(Name, Record) = readNameFromStrtab(Record); in parseComdatRecord()
3646 if (Record.empty()) in parseComdatRecord()
3648 Comdat::SelectionKind SK = getDecodedComdatSelectionKind(Record[0]); in parseComdatRecord()
3651 if (Record.size() < 2) in parseComdatRecord()
3653 unsigned ComdatNameSize = Record[1]; in parseComdatRecord()
3654 if (ComdatNameSize > Record.size() - 2) in parseComdatRecord()
3658 OldFormatName += (char)Record[2 + i]; in parseComdatRecord()
3687 Error BitcodeReader::parseGlobalVarRecord(ArrayRef<uint64_t> Record) { in parseGlobalVarRecord() argument
3694 std::tie(Name, Record) = readNameFromStrtab(Record); in parseGlobalVarRecord()
3696 if (Record.size() < 6) in parseGlobalVarRecord()
3698 unsigned TyID = Record[0]; in parseGlobalVarRecord()
3702 bool isConstant = Record[1] & 1; in parseGlobalVarRecord()
3703 bool explicitType = Record[1] & 2; in parseGlobalVarRecord()
3706 AddressSpace = Record[1] >> 2; in parseGlobalVarRecord()
3717 uint64_t RawLinkage = Record[3]; in parseGlobalVarRecord()
3720 if (Error Err = parseAlignmentValue(Record[4], Alignment)) in parseGlobalVarRecord()
3723 if (Record[5]) { in parseGlobalVarRecord()
3724 if (Record[5] - 1 >= SectionTable.size()) in parseGlobalVarRecord()
3726 Section = SectionTable[Record[5] - 1]; in parseGlobalVarRecord()
3731 if (Record.size() > 6 && !GlobalValue::isLocalLinkage(Linkage)) in parseGlobalVarRecord()
3732 Visibility = getDecodedVisibility(Record[6]); in parseGlobalVarRecord()
3735 if (Record.size() > 7) in parseGlobalVarRecord()
3736 TLM = getDecodedThreadLocalMode(Record[7]); in parseGlobalVarRecord()
3739 if (Record.size() > 8) in parseGlobalVarRecord()
3740 UnnamedAddr = getDecodedUnnamedAddrType(Record[8]); in parseGlobalVarRecord()
3743 if (Record.size() > 9) in parseGlobalVarRecord()
3744 ExternallyInitialized = Record[9]; in parseGlobalVarRecord()
3755 if (Record.size() > 10) in parseGlobalVarRecord()
3756 NewGV->setDLLStorageClass(getDecodedDLLStorageClass(Record[10])); in parseGlobalVarRecord()
3763 if (unsigned InitID = Record[2]) in parseGlobalVarRecord()
3766 if (Record.size() > 11) { in parseGlobalVarRecord()
3767 if (unsigned ComdatID = Record[11]) { in parseGlobalVarRecord()
3776 if (Record.size() > 12) { in parseGlobalVarRecord()
3777 auto AS = getAttributes(Record[12]).getFnAttrs(); in parseGlobalVarRecord()
3781 if (Record.size() > 13) { in parseGlobalVarRecord()
3782 NewGV->setDSOLocal(getDecodedDSOLocal(Record[13])); in parseGlobalVarRecord()
3787 if (Record.size() > 15) in parseGlobalVarRecord()
3788 NewGV->setPartition(StringRef(Strtab.data() + Record[14], Record[15])); in parseGlobalVarRecord()
3790 if (Record.size() > 16 && Record[16]) { in parseGlobalVarRecord()
3792 deserializeSanitizerMetadata(Record[16]); in parseGlobalVarRecord()
3799 Error BitcodeReader::parseFunctionRecord(ArrayRef<uint64_t> Record) { in parseFunctionRecord() argument
3805 std::tie(Name, Record) = readNameFromStrtab(Record); in parseFunctionRecord()
3807 if (Record.size() < 8) in parseFunctionRecord()
3809 unsigned FTyID = Record[0]; in parseFunctionRecord()
3822 auto CC = static_cast<CallingConv::ID>(Record[1]); in parseFunctionRecord()
3827 if (Record.size() > 16) in parseFunctionRecord()
3828 AddrSpace = Record[16]; in parseFunctionRecord()
3839 bool isProto = Record[2]; in parseFunctionRecord()
3840 uint64_t RawLinkage = Record[3]; in parseFunctionRecord()
3842 Func->setAttributes(getAttributes(Record[4])); in parseFunctionRecord()
3893 if (Error Err = parseAlignmentValue(Record[5], Alignment)) in parseFunctionRecord()
3896 if (Record[6]) { in parseFunctionRecord()
3897 if (Record[6] - 1 >= SectionTable.size()) in parseFunctionRecord()
3899 Func->setSection(SectionTable[Record[6] - 1]); in parseFunctionRecord()
3904 Func->setVisibility(getDecodedVisibility(Record[7])); in parseFunctionRecord()
3905 if (Record.size() > 8 && Record[8]) { in parseFunctionRecord()
3906 if (Record[8] - 1 >= GCTable.size()) in parseFunctionRecord()
3908 Func->setGC(GCTable[Record[8] - 1]); in parseFunctionRecord()
3911 if (Record.size() > 9) in parseFunctionRecord()
3912 UnnamedAddr = getDecodedUnnamedAddrType(Record[9]); in parseFunctionRecord()
3916 if (Record.size() > 10) in parseFunctionRecord()
3917 OperandInfo.Prologue = Record[10]; in parseFunctionRecord()
3919 if (Record.size() > 11) in parseFunctionRecord()
3920 Func->setDLLStorageClass(getDecodedDLLStorageClass(Record[11])); in parseFunctionRecord()
3924 if (Record.size() > 12) { in parseFunctionRecord()
3925 if (unsigned ComdatID = Record[12]) { in parseFunctionRecord()
3934 if (Record.size() > 13) in parseFunctionRecord()
3935 OperandInfo.Prefix = Record[13]; in parseFunctionRecord()
3937 if (Record.size() > 14) in parseFunctionRecord()
3938 OperandInfo.PersonalityFn = Record[14]; in parseFunctionRecord()
3940 if (Record.size() > 15) { in parseFunctionRecord()
3941 Func->setDSOLocal(getDecodedDSOLocal(Record[15])); in parseFunctionRecord()
3949 if (Record.size() > 18 && Strtab.data() && in parseFunctionRecord()
3950 Record[17] + Record[18] <= Strtab.size()) { in parseFunctionRecord()
3951 Func->setPartition(StringRef(Strtab.data() + Record[17], Record[18])); in parseFunctionRecord()
3970 unsigned BitCode, ArrayRef<uint64_t> Record) { in parseGlobalIndirectSymbolRecord() argument
3980 std::tie(Name, Record) = readNameFromStrtab(Record); in parseGlobalIndirectSymbolRecord()
3983 if (Record.size() < (3 + (unsigned)NewRecord)) in parseGlobalIndirectSymbolRecord()
3986 unsigned TypeID = Record[OpNum++]; in parseGlobalIndirectSymbolRecord()
4002 AddrSpace = Record[OpNum++]; in parseGlobalIndirectSymbolRecord()
4005 auto Val = Record[OpNum++]; in parseGlobalIndirectSymbolRecord()
4006 auto Linkage = Record[OpNum++]; in parseGlobalIndirectSymbolRecord()
4018 if (OpNum != Record.size()) { in parseGlobalIndirectSymbolRecord()
4021 NewGA->setVisibility(getDecodedVisibility(Record[VisInd])); in parseGlobalIndirectSymbolRecord()
4025 if (OpNum != Record.size()) in parseGlobalIndirectSymbolRecord()
4026 NewGA->setDLLStorageClass(getDecodedDLLStorageClass(Record[OpNum++])); in parseGlobalIndirectSymbolRecord()
4029 if (OpNum != Record.size()) in parseGlobalIndirectSymbolRecord()
4030 NewGA->setThreadLocalMode(getDecodedThreadLocalMode(Record[OpNum++])); in parseGlobalIndirectSymbolRecord()
4031 if (OpNum != Record.size()) in parseGlobalIndirectSymbolRecord()
4032 NewGA->setUnnamedAddr(getDecodedUnnamedAddrType(Record[OpNum++])); in parseGlobalIndirectSymbolRecord()
4034 if (OpNum != Record.size()) in parseGlobalIndirectSymbolRecord()
4035 NewGA->setDSOLocal(getDecodedDSOLocal(Record[OpNum++])); in parseGlobalIndirectSymbolRecord()
4039 if (OpNum + 1 < Record.size()) { in parseGlobalIndirectSymbolRecord()
4041 StringRef(Strtab.data() + Record[OpNum], Record[OpNum + 1])); in parseGlobalIndirectSymbolRecord()
4059 SmallVector<uint64_t, 64> Record; in parseModule() local
4226 case BitstreamEntry::Record: in parseModule()
4232 Expected<unsigned> MaybeBitCode = Stream.readRecord(Entry.ID, Record); in parseModule()
4238 Expected<unsigned> VersionOrErr = parseVersionRecord(Record); in parseModule()
4248 if (convertToString(Record, 0, S)) in parseModule()
4257 if (convertToString(Record, 0, S)) in parseModule()
4267 if (convertToString(Record, 0, S)) in parseModule()
4275 if (convertToString(Record, 0, S)) in parseModule()
4282 if (convertToString(Record, 0, S)) in parseModule()
4289 if (convertToString(Record, 0, S)) in parseModule()
4295 if (Error Err = parseComdatRecord(Record)) in parseModule()
4304 if (Error Err = parseGlobalVarRecord(Record)) in parseModule()
4309 if (Error Err = parseFunctionRecord(Record)) in parseModule()
4315 if (Error Err = parseGlobalIndirectSymbolRecord(BitCode, Record)) in parseModule()
4320 if (Record.empty()) in parseModule()
4325 VSTOffset = Record[0] - 1; in parseModule()
4330 if (convertToString(Record, 0, ValueName)) in parseModule()
4335 Record.clear(); in parseModule()
4499 SmallVector<uint64_t, 64> Record; in parseFunctionBody() local
4545 case BitstreamEntry::Record: in parseFunctionBody()
4551 Record.clear(); in parseFunctionBody()
4554 Expected<unsigned> MaybeBitCode = Stream.readRecord(Entry.ID, Record); in parseFunctionBody()
4561 if (Record.empty() || Record[0] == 0) in parseFunctionBody()
4564 FunctionBBs.resize(Record[0]); in parseFunctionBody()
4597 if (Record.empty()) in parseFunctionBody()
4612 for (uint64_t ValID : Record) in parseFunctionBody()
4633 if (!I || Record.size() < 4) in parseFunctionBody()
4636 unsigned Line = Record[0], Col = Record[1]; in parseFunctionBody()
4637 unsigned ScopeID = Record[2], IAID = Record[3]; in parseFunctionBody()
4638 bool isImplicitCode = Record.size() == 5 && Record[4]; in parseFunctionBody()
4663 if (getValueTypePair(Record, OpNum, NextValueNo, LHS, TypeID, CurBB) || in parseFunctionBody()
4664 OpNum+1 > Record.size()) in parseFunctionBody()
4667 int Opc = getDecodedUnaryOpcode(Record[OpNum++], LHS->getType()); in parseFunctionBody()
4673 if (OpNum < Record.size()) { in parseFunctionBody()
4675 FastMathFlags FMF = getDecodedFastMathFlags(Record[OpNum]); in parseFunctionBody()
4686 if (getValueTypePair(Record, OpNum, NextValueNo, LHS, TypeID, CurBB) || in parseFunctionBody()
4687 popValue(Record, OpNum, NextValueNo, LHS->getType(), TypeID, RHS, in parseFunctionBody()
4689 OpNum+1 > Record.size()) in parseFunctionBody()
4692 int Opc = getDecodedBinaryOpcode(Record[OpNum++], LHS->getType()); in parseFunctionBody()
4698 if (OpNum < Record.size()) { in parseFunctionBody()
4703 if (Record[OpNum] & (1 << bitc::OBO_NO_SIGNED_WRAP)) in parseFunctionBody()
4705 if (Record[OpNum] & (1 << bitc::OBO_NO_UNSIGNED_WRAP)) in parseFunctionBody()
4711 if (Record[OpNum] & (1 << bitc::PEO_EXACT)) in parseFunctionBody()
4714 FastMathFlags FMF = getDecodedFastMathFlags(Record[OpNum]); in parseFunctionBody()
4726 if (getValueTypePair(Record, OpNum, NextValueNo, Op, OpTypeID, CurBB) || in parseFunctionBody()
4727 OpNum+2 != Record.size()) in parseFunctionBody()
4730 ResTypeID = Record[OpNum]; in parseFunctionBody()
4732 int Opc = getDecodedCastOpcode(Record[OpNum + 1]); in parseFunctionBody()
4761 InBounds = Record[OpNum++]; in parseFunctionBody()
4762 TyID = Record[OpNum++]; in parseFunctionBody()
4772 if (getValueTypePair(Record, OpNum, NextValueNo, BasePtr, BasePtrTypeID, in parseFunctionBody()
4788 while (OpNum != Record.size()) { in parseFunctionBody()
4791 if (getValueTypePair(Record, OpNum, NextValueNo, Op, OpTypeID, CurBB)) in parseFunctionBody()
4832 if (getValueTypePair(Record, OpNum, NextValueNo, Agg, AggTypeID, CurBB)) in parseFunctionBody()
4836 unsigned RecSize = Record.size(); in parseFunctionBody()
4845 uint64_t Index = Record[OpNum]; in parseFunctionBody()
4876 if (getValueTypePair(Record, OpNum, NextValueNo, Agg, AggTypeID, CurBB)) in parseFunctionBody()
4880 if (getValueTypePair(Record, OpNum, NextValueNo, Val, ValTypeID, CurBB)) in parseFunctionBody()
4883 unsigned RecSize = Record.size(); in parseFunctionBody()
4892 uint64_t Index = Record[OpNum]; in parseFunctionBody()
4926 if (getValueTypePair(Record, OpNum, NextValueNo, TrueVal, TypeID, in parseFunctionBody()
4928 popValue(Record, OpNum, NextValueNo, TrueVal->getType(), TypeID, in parseFunctionBody()
4930 popValue(Record, OpNum, NextValueNo, CondType, in parseFunctionBody()
4946 if (getValueTypePair(Record, OpNum, NextValueNo, TrueVal, ValTypeID, in parseFunctionBody()
4948 popValue(Record, OpNum, NextValueNo, TrueVal->getType(), ValTypeID, in parseFunctionBody()
4950 getValueTypePair(Record, OpNum, NextValueNo, Cond, CondTypeID, CurBB)) in parseFunctionBody()
4968 if (OpNum < Record.size() && isa<FPMathOperator>(I)) { in parseFunctionBody()
4969 FastMathFlags FMF = getDecodedFastMathFlags(Record[OpNum]); in parseFunctionBody()
4980 if (getValueTypePair(Record, OpNum, NextValueNo, Vec, VecTypeID, CurBB) || in parseFunctionBody()
4981 getValueTypePair(Record, OpNum, NextValueNo, Idx, IdxTypeID, CurBB)) in parseFunctionBody()
4995 if (getValueTypePair(Record, OpNum, NextValueNo, Vec, VecTypeID, CurBB)) in parseFunctionBody()
4999 if (popValue(Record, OpNum, NextValueNo, in parseFunctionBody()
5002 getValueTypePair(Record, OpNum, NextValueNo, Idx, IdxTypeID, CurBB)) in parseFunctionBody()
5014 if (getValueTypePair(Record, OpNum, NextValueNo, Vec1, Vec1TypeID, in parseFunctionBody()
5016 popValue(Record, OpNum, NextValueNo, Vec1->getType(), Vec1TypeID, in parseFunctionBody()
5021 if (getValueTypePair(Record, OpNum, NextValueNo, Mask, MaskTypeID, CurBB)) in parseFunctionBody()
5043 if (getValueTypePair(Record, OpNum, NextValueNo, LHS, LHSTypeID, CurBB) || in parseFunctionBody()
5044 popValue(Record, OpNum, NextValueNo, LHS->getType(), LHSTypeID, RHS, in parseFunctionBody()
5048 if (OpNum >= Record.size()) in parseFunctionBody()
5052 unsigned PredVal = Record[OpNum]; in parseFunctionBody()
5055 if (IsFP && Record.size() > OpNum+1) in parseFunctionBody()
5056 FMF = getDecodedFastMathFlags(Record[++OpNum]); in parseFunctionBody()
5058 if (OpNum+1 != Record.size()) in parseFunctionBody()
5078 unsigned Size = Record.size(); in parseFunctionBody()
5088 if (getValueTypePair(Record, OpNum, NextValueNo, Op, OpTypeID, CurBB)) in parseFunctionBody()
5090 if (OpNum != Record.size()) in parseFunctionBody()
5098 if (Record.size() != 1 && Record.size() != 3) in parseFunctionBody()
5100 BasicBlock *TrueDest = getBasicBlock(Record[0]); in parseFunctionBody()
5104 if (Record.size() == 1) { in parseFunctionBody()
5109 BasicBlock *FalseDest = getBasicBlock(Record[1]); in parseFunctionBody()
5111 Value *Cond = getValue(Record, 2, NextValueNo, CondType, in parseFunctionBody()
5121 if (Record.size() != 1 && Record.size() != 2) in parseFunctionBody()
5125 Value *CleanupPad = getValue(Record, Idx++, NextValueNo, TokenTy, in parseFunctionBody()
5130 if (Record.size() == 2) { in parseFunctionBody()
5131 UnwindDest = getBasicBlock(Record[Idx++]); in parseFunctionBody()
5141 if (Record.size() != 2) in parseFunctionBody()
5145 Value *CatchPad = getValue(Record, Idx++, NextValueNo, TokenTy, in parseFunctionBody()
5149 BasicBlock *BB = getBasicBlock(Record[Idx++]); in parseFunctionBody()
5159 if (Record.size() < 2) in parseFunctionBody()
5165 Value *ParentPad = getValue(Record, Idx++, NextValueNo, TokenTy, in parseFunctionBody()
5168 unsigned NumHandlers = Record[Idx++]; in parseFunctionBody()
5172 BasicBlock *BB = getBasicBlock(Record[Idx++]); in parseFunctionBody()
5179 if (Idx + 1 == Record.size()) { in parseFunctionBody()
5180 UnwindDest = getBasicBlock(Record[Idx++]); in parseFunctionBody()
5185 if (Record.size() != Idx) in parseFunctionBody()
5200 if (Record.size() < 2) in parseFunctionBody()
5206 Value *ParentPad = getValue(Record, Idx++, NextValueNo, TokenTy, in parseFunctionBody()
5209 unsigned NumArgOperands = Record[Idx++]; in parseFunctionBody()
5215 if (getValueTypePair(Record, Idx, NextValueNo, Val, ValTypeID, nullptr)) in parseFunctionBody()
5220 if (Record.size() != Idx) in parseFunctionBody()
5233 if ((Record[0] >> 16) == SWITCH_INST_MAGIC) { in parseFunctionBody()
5239 unsigned OpTyID = Record[1]; in parseFunctionBody()
5243 Value *Cond = getValue(Record, 2, NextValueNo, OpTy, OpTyID, CurBB); in parseFunctionBody()
5244 BasicBlock *Default = getBasicBlock(Record[3]); in parseFunctionBody()
5248 unsigned NumCases = Record[4]; in parseFunctionBody()
5256 unsigned NumItems = Record[CurIdx++]; in parseFunctionBody()
5258 bool isSingleNumber = Record[CurIdx++]; in parseFunctionBody()
5263 ActiveWords = Record[CurIdx++]; in parseFunctionBody()
5264 Low = readWideAPInt(makeArrayRef(&Record[CurIdx], ActiveWords), in parseFunctionBody()
5271 ActiveWords = Record[CurIdx++]; in parseFunctionBody()
5273 makeArrayRef(&Record[CurIdx], ActiveWords), ValueBitWidth); in parseFunctionBody()
5285 BasicBlock *DestBB = getBasicBlock(Record[CurIdx++]); in parseFunctionBody()
5295 if (Record.size() < 3 || (Record.size() & 1) == 0) in parseFunctionBody()
5297 unsigned OpTyID = Record[0]; in parseFunctionBody()
5299 Value *Cond = getValue(Record, 1, NextValueNo, OpTy, OpTyID, CurBB); in parseFunctionBody()
5300 BasicBlock *Default = getBasicBlock(Record[2]); in parseFunctionBody()
5303 unsigned NumCases = (Record.size()-3)/2; in parseFunctionBody()
5308 getFnValueByID(Record[3+i*2], OpTy, OpTyID, nullptr)); in parseFunctionBody()
5309 BasicBlock *DestBB = getBasicBlock(Record[1+3+i*2]); in parseFunctionBody()
5320 if (Record.size() < 2) in parseFunctionBody()
5322 unsigned OpTyID = Record[0]; in parseFunctionBody()
5324 Value *Address = getValue(Record, 1, NextValueNo, OpTy, OpTyID, CurBB); in parseFunctionBody()
5327 unsigned NumDests = Record.size()-2; in parseFunctionBody()
5331 if (BasicBlock *DestBB = getBasicBlock(Record[2+i])) { in parseFunctionBody()
5344 if (Record.size() < 4) in parseFunctionBody()
5347 AttributeList PAL = getAttributes(Record[OpNum++]); in parseFunctionBody()
5348 unsigned CCInfo = Record[OpNum++]; in parseFunctionBody()
5349 BasicBlock *NormalBB = getBasicBlock(Record[OpNum++]); in parseFunctionBody()
5350 BasicBlock *UnwindBB = getBasicBlock(Record[OpNum++]); in parseFunctionBody()
5355 FTyID = Record[OpNum++]; in parseFunctionBody()
5363 if (getValueTypePair(Record, OpNum, NextValueNo, Callee, CalleeTypeID, in parseFunctionBody()
5378 if (Record.size() < FTy->getNumParams() + OpNum) in parseFunctionBody()
5385 Ops.push_back(getValue(Record, OpNum, NextValueNo, FTy->getParamType(i), in parseFunctionBody()
5393 if (Record.size() != OpNum) in parseFunctionBody()
5397 while (OpNum != Record.size()) { in parseFunctionBody()
5400 if (getValueTypePair(Record, OpNum, NextValueNo, Op, OpTypeID, CurBB)) in parseFunctionBody()
5430 if (getValueTypePair(Record, Idx, NextValueNo, Val, ValTypeID, CurBB)) in parseFunctionBody()
5439 AttributeList PAL = getAttributes(Record[OpNum++]); in parseFunctionBody()
5440 unsigned CCInfo = Record[OpNum++]; in parseFunctionBody()
5442 BasicBlock *DefaultDest = getBasicBlock(Record[OpNum++]); in parseFunctionBody()
5443 unsigned NumIndirectDests = Record[OpNum++]; in parseFunctionBody()
5446 IndirectDests.push_back(getBasicBlock(Record[OpNum++])); in parseFunctionBody()
5451 FTyID = Record[OpNum++]; in parseFunctionBody()
5459 if (getValueTypePair(Record, OpNum, NextValueNo, Callee, CalleeTypeID, in parseFunctionBody()
5474 if (Record.size() < FTy->getNumParams() + OpNum) in parseFunctionBody()
5484 Arg = getBasicBlock(Record[OpNum]); in parseFunctionBody()
5486 Arg = getValue(Record, OpNum, NextValueNo, FTy->getParamType(i), in parseFunctionBody()
5496 if (OpNum != Record.size()) in parseFunctionBody()
5499 while (OpNum != Record.size()) { in parseFunctionBody()
5502 if (getValueTypePair(Record, OpNum, NextValueNo, Op, OpTypeID, CurBB)) in parseFunctionBody()
5587 if (Record.empty()) in parseFunctionBody()
5590 unsigned TyID = Record[0]; in parseFunctionBody()
5598 size_t NumArgs = (Record.size() - 1) / 2; in parseFunctionBody()
5600 if ((Record.size() - 1) % 2 == 1 && !isa<FPMathOperator>(PN)) { in parseFunctionBody()
5608 BasicBlock *BB = getBasicBlock(Record[i * 2 + 2]); in parseFunctionBody()
5640 V = getValueSigned(Record, i * 2 + 1, NextValueNo, Ty, TyID, EdgeBB); in parseFunctionBody()
5642 V = getValue(Record, i * 2 + 1, NextValueNo, Ty, TyID, EdgeBB); in parseFunctionBody()
5660 if (Record.size() % 2 == 0) { in parseFunctionBody()
5662 FastMathFlags FMF = getDecodedFastMathFlags(Record[Record.size() - 1]); in parseFunctionBody()
5675 if (Record.size() < 3) in parseFunctionBody()
5679 if (Record.size() < 4) in parseFunctionBody()
5682 ResTypeID = Record[Idx++]; in parseFunctionBody()
5689 if (getValueTypePair(Record, Idx, NextValueNo, PersFn, PersFnTypeID, in parseFunctionBody()
5699 bool IsCleanup = !!Record[Idx++]; in parseFunctionBody()
5700 unsigned NumClauses = Record[Idx++]; in parseFunctionBody()
5705 LandingPadInst::ClauseType(Record[Idx++]); (void)CT; in parseFunctionBody()
5709 if (getValueTypePair(Record, Idx, NextValueNo, Val, ValTypeID, in parseFunctionBody()
5730 if (Record.size() != 4 && Record.size() != 5) in parseFunctionBody()
5733 const uint64_t Rec = Record[3]; in parseFunctionBody()
5736 unsigned TyID = Record[0]; in parseFunctionBody()
5744 unsigned OpTyID = Record[1]; in parseFunctionBody()
5746 Value *Size = getFnValueByID(Record[2], OpTy, OpTyID, CurBB); in parseFunctionBody()
5758 unsigned AS = Record.size() == 5 ? Record[4] : DL.getAllocaAddrSpace(); in parseFunctionBody()
5778 if (getValueTypePair(Record, OpNum, NextValueNo, Op, OpTypeID, CurBB) || in parseFunctionBody()
5779 (OpNum + 2 != Record.size() && OpNum + 3 != Record.size())) in parseFunctionBody()
5786 if (OpNum + 3 == Record.size()) { in parseFunctionBody()
5787 ResTypeID = Record[OpNum++]; in parseFunctionBody()
5800 if (Error Err = parseAlignmentValue(Record[OpNum], Align)) in parseFunctionBody()
5807 I = new LoadInst(Ty, Op, "", Record[OpNum + 1], *Align); in parseFunctionBody()
5816 if (getValueTypePair(Record, OpNum, NextValueNo, Op, OpTypeID, CurBB) || in parseFunctionBody()
5817 (OpNum + 4 != Record.size() && OpNum + 5 != Record.size())) in parseFunctionBody()
5824 if (OpNum + 5 == Record.size()) { in parseFunctionBody()
5825 ResTypeID = Record[OpNum++]; in parseFunctionBody()
5837 AtomicOrdering Ordering = getDecodedOrdering(Record[OpNum + 2]); in parseFunctionBody()
5842 if (Ordering != AtomicOrdering::NotAtomic && Record[OpNum] == 0) in parseFunctionBody()
5844 SyncScope::ID SSID = getDecodedSyncScopeID(Record[OpNum + 3]); in parseFunctionBody()
5847 if (Error Err = parseAlignmentValue(Record[OpNum], Align)) in parseFunctionBody()
5851 I = new LoadInst(Ty, Op, "", Record[OpNum + 1], *Align, Ordering, SSID); in parseFunctionBody()
5860 if (getValueTypePair(Record, OpNum, NextValueNo, Ptr, PtrTypeID, CurBB)) in parseFunctionBody()
5864 if (getValueTypePair(Record, OpNum, NextValueNo, Val, ValTypeID, CurBB)) in parseFunctionBody()
5868 if (popValue(Record, OpNum, NextValueNo, getTypeByID(ValTypeID), in parseFunctionBody()
5873 if (OpNum + 2 != Record.size()) in parseFunctionBody()
5879 if (Error Err = parseAlignmentValue(Record[OpNum], Align)) in parseFunctionBody()
5886 I = new StoreInst(Val, Ptr, Record[OpNum + 1], *Align); in parseFunctionBody()
5896 if (getValueTypePair(Record, OpNum, NextValueNo, Ptr, PtrTypeID, CurBB) || in parseFunctionBody()
5900 if (getValueTypePair(Record, OpNum, NextValueNo, Val, ValTypeID, CurBB)) in parseFunctionBody()
5904 if (popValue(Record, OpNum, NextValueNo, getTypeByID(ValTypeID), in parseFunctionBody()
5909 if (OpNum + 4 != Record.size()) in parseFunctionBody()
5914 AtomicOrdering Ordering = getDecodedOrdering(Record[OpNum + 2]); in parseFunctionBody()
5919 SyncScope::ID SSID = getDecodedSyncScopeID(Record[OpNum + 3]); in parseFunctionBody()
5920 if (Ordering != AtomicOrdering::NotAtomic && Record[OpNum] == 0) in parseFunctionBody()
5924 if (Error Err = parseAlignmentValue(Record[OpNum], Align)) in parseFunctionBody()
5928 I = new StoreInst(Val, Ptr, Record[OpNum + 1], *Align, Ordering, SSID); in parseFunctionBody()
5935 const size_t NumRecords = Record.size(); in parseFunctionBody()
5939 if (getValueTypePair(Record, OpNum, NextValueNo, Ptr, PtrTypeID, CurBB)) in parseFunctionBody()
5947 if (popValue(Record, OpNum, NextValueNo, getTypeByID(CmpTypeID), in parseFunctionBody()
5952 if (popValue(Record, OpNum, NextValueNo, Cmp->getType(), CmpTypeID, in parseFunctionBody()
5958 getDecodedOrdering(Record[OpNum + 1]); in parseFunctionBody()
5963 const SyncScope::ID SSID = getDecodedSyncScopeID(Record[OpNum + 2]); in parseFunctionBody()
5971 : getDecodedOrdering(Record[OpNum + 3]); in parseFunctionBody()
5982 cast<AtomicCmpXchgInst>(I)->setVolatile(Record[OpNum]); in parseFunctionBody()
5992 cast<AtomicCmpXchgInst>(I)->setWeak(Record[OpNum + 4]); in parseFunctionBody()
6003 const size_t NumRecords = Record.size(); in parseFunctionBody()
6007 if (getValueTypePair(Record, OpNum, NextValueNo, Ptr, PtrTypeID, CurBB)) in parseFunctionBody()
6015 if (getValueTypePair(Record, OpNum, NextValueNo, Cmp, CmpTypeID, CurBB)) in parseFunctionBody()
6019 if (popValue(Record, OpNum, NextValueNo, Cmp->getType(), CmpTypeID, Val, in parseFunctionBody()
6026 const bool IsVol = Record[OpNum]; in parseFunctionBody()
6029 getDecodedOrdering(Record[OpNum + 1]); in parseFunctionBody()
6033 const SyncScope::ID SSID = getDecodedSyncScopeID(Record[OpNum + 2]); in parseFunctionBody()
6039 getDecodedOrdering(Record[OpNum + 3]); in parseFunctionBody()
6043 const bool IsWeak = Record[OpNum + 4]; in parseFunctionBody()
6048 if (Error Err = parseAlignmentValue(Record[OpNum + 5], Alignment)) in parseFunctionBody()
6070 const size_t NumRecords = Record.size(); in parseFunctionBody()
6075 if (getValueTypePair(Record, OpNum, NextValueNo, Ptr, PtrTypeID, CurBB)) in parseFunctionBody()
6085 if (popValue(Record, OpNum, NextValueNo, in parseFunctionBody()
6089 if (getValueTypePair(Record, OpNum, NextValueNo, Val, ValTypeID, CurBB)) in parseFunctionBody()
6097 getDecodedRMWOperation(Record[OpNum]); in parseFunctionBody()
6102 const bool IsVol = Record[OpNum + 1]; in parseFunctionBody()
6104 const AtomicOrdering Ordering = getDecodedOrdering(Record[OpNum + 2]); in parseFunctionBody()
6109 const SyncScope::ID SSID = getDecodedSyncScopeID(Record[OpNum + 3]); in parseFunctionBody()
6114 if (Error Err = parseAlignmentValue(Record[OpNum + 4], Alignment)) in parseFunctionBody()
6130 if (2 != Record.size()) in parseFunctionBody()
6132 AtomicOrdering Ordering = getDecodedOrdering(Record[0]); in parseFunctionBody()
6137 SyncScope::ID SSID = getDecodedSyncScopeID(Record[1]); in parseFunctionBody()
6144 if (Record.size() < 3) in parseFunctionBody()
6148 AttributeList PAL = getAttributes(Record[OpNum++]); in parseFunctionBody()
6149 unsigned CCInfo = Record[OpNum++]; in parseFunctionBody()
6153 FMF = getDecodedFastMathFlags(Record[OpNum++]); in parseFunctionBody()
6161 FTyID = Record[OpNum++]; in parseFunctionBody()
6169 if (getValueTypePair(Record, OpNum, NextValueNo, Callee, CalleeTypeID, in parseFunctionBody()
6184 if (Record.size() < FTy->getNumParams() + OpNum) in parseFunctionBody()
6193 Args.push_back(getBasicBlock(Record[OpNum])); in parseFunctionBody()
6195 Args.push_back(getValue(Record, OpNum, NextValueNo, in parseFunctionBody()
6204 if (OpNum != Record.size()) in parseFunctionBody()
6207 while (OpNum != Record.size()) { in parseFunctionBody()
6210 if (getValueTypePair(Record, OpNum, NextValueNo, Op, OpTypeID, CurBB)) in parseFunctionBody()
6249 if (Record.size() < 3) in parseFunctionBody()
6251 unsigned OpTyID = Record[0]; in parseFunctionBody()
6253 Value *Op = getValue(Record, 1, NextValueNo, OpTy, OpTyID, CurBB); in parseFunctionBody()
6254 ResTypeID = Record[2]; in parseFunctionBody()
6268 if (Record.empty() || Record[0] >= BundleTags.size()) in parseFunctionBody()
6274 while (OpNum != Record.size()) { in parseFunctionBody()
6277 if (getValueTypePair(Record, OpNum, NextValueNo, Op, OpTypeID, CurBB)) in parseFunctionBody()
6282 OperandBundles.emplace_back(BundleTags[Record[0]], std::move(Inputs)); in parseFunctionBody()
6290 if (getValueTypePair(Record, OpNum, NextValueNo, Op, OpTypeID, CurBB)) in parseFunctionBody()
6292 if (OpNum != Record.size()) in parseFunctionBody()
6631 SmallVector<uint64_t, 64> Record; in parseValueSymbolTable() local
6651 case BitstreamEntry::Record: in parseValueSymbolTable()
6657 Record.clear(); in parseValueSymbolTable()
6658 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseValueSymbolTable()
6665 if (convertToString(Record, 1, ValueName)) in parseValueSymbolTable()
6667 unsigned ValueID = Record[0]; in parseValueSymbolTable()
6679 if (convertToString(Record, 2, ValueName)) in parseValueSymbolTable()
6681 unsigned ValueID = Record[0]; in parseValueSymbolTable()
6693 unsigned ValueID = Record[0]; in parseValueSymbolTable()
6694 GlobalValue::GUID RefGUID = Record[1]; in parseValueSymbolTable()
6712 SmallVector<uint64_t, 64> Record; in parseModule() local
6776 case BitstreamEntry::Record: { in parseModule()
6777 Record.clear(); in parseModule()
6778 Expected<unsigned> MaybeBitCode = Stream.readRecord(Entry.ID, Record); in parseModule()
6785 if (Error Err = parseVersionRecord(Record).takeError()) in parseModule()
6792 if (convertToString(Record, 0, ValueName)) in parseModule()
6799 if (Record.size() != 5) in parseModule()
6800 return error("Invalid hash length " + Twine(Record.size()).str()); in parseModule()
6803 for (auto &Val : Record) { in parseModule()
6811 if (Record.empty()) in parseModule()
6816 VSTOffset = Record[0] - 1; in parseModule()
6827 std::tie(Name, GVRecord) = readNameFromStrtab(Record); in parseModule()
6848 ModuleSummaryIndexBitcodeReader::makeRefList(ArrayRef<uint64_t> Record) { in makeRefList() argument
6850 Ret.reserve(Record.size()); in makeRefList()
6851 for (uint64_t RefValueId : Record) in makeRefList()
6857 ModuleSummaryIndexBitcodeReader::makeCallList(ArrayRef<uint64_t> Record, in makeCallList() argument
6861 Ret.reserve(Record.size()); in makeCallList()
6862 for (unsigned I = 0, E = Record.size(); I != E; ++I) { in makeCallList()
6865 ValueInfo Callee = getValueInfoFromValueId(Record[I]).first; in makeCallList()
6871 Hotness = static_cast<CalleeInfo::HotnessType>(Record[++I]); in makeCallList()
6873 RelBF = Record[++I]; in makeCallList()
6880 parseWholeProgramDevirtResolutionByArg(ArrayRef<uint64_t> Record, size_t &Slot, in parseWholeProgramDevirtResolutionByArg() argument
6882 uint64_t ArgNum = Record[Slot++]; in parseWholeProgramDevirtResolutionByArg()
6884 Wpd.ResByArg[{Record.begin() + Slot, Record.begin() + Slot + ArgNum}]; in parseWholeProgramDevirtResolutionByArg()
6888 static_cast<WholeProgramDevirtResolution::ByArg::Kind>(Record[Slot++]); in parseWholeProgramDevirtResolutionByArg()
6889 B.Info = Record[Slot++]; in parseWholeProgramDevirtResolutionByArg()
6890 B.Byte = Record[Slot++]; in parseWholeProgramDevirtResolutionByArg()
6891 B.Bit = Record[Slot++]; in parseWholeProgramDevirtResolutionByArg()
6894 static void parseWholeProgramDevirtResolution(ArrayRef<uint64_t> Record, in parseWholeProgramDevirtResolution() argument
6897 uint64_t Id = Record[Slot++]; in parseWholeProgramDevirtResolution()
6900 Wpd.TheKind = static_cast<WholeProgramDevirtResolution::Kind>(Record[Slot++]); in parseWholeProgramDevirtResolution()
6901 Wpd.SingleImplName = {Strtab.data() + Record[Slot], in parseWholeProgramDevirtResolution()
6902 static_cast<size_t>(Record[Slot + 1])}; in parseWholeProgramDevirtResolution()
6905 uint64_t ResByArgNum = Record[Slot++]; in parseWholeProgramDevirtResolution()
6907 parseWholeProgramDevirtResolutionByArg(Record, Slot, Wpd); in parseWholeProgramDevirtResolution()
6910 static void parseTypeIdSummaryRecord(ArrayRef<uint64_t> Record, in parseTypeIdSummaryRecord() argument
6915 {Strtab.data() + Record[Slot], static_cast<size_t>(Record[Slot + 1])}); in parseTypeIdSummaryRecord()
6918 TypeId.TTRes.TheKind = static_cast<TypeTestResolution::Kind>(Record[Slot++]); in parseTypeIdSummaryRecord()
6919 TypeId.TTRes.SizeM1BitWidth = Record[Slot++]; in parseTypeIdSummaryRecord()
6920 TypeId.TTRes.AlignLog2 = Record[Slot++]; in parseTypeIdSummaryRecord()
6921 TypeId.TTRes.SizeM1 = Record[Slot++]; in parseTypeIdSummaryRecord()
6922 TypeId.TTRes.BitMask = Record[Slot++]; in parseTypeIdSummaryRecord()
6923 TypeId.TTRes.InlineBits = Record[Slot++]; in parseTypeIdSummaryRecord()
6925 while (Slot < Record.size()) in parseTypeIdSummaryRecord()
6926 parseWholeProgramDevirtResolution(Record, Strtab, Slot, TypeId); in parseTypeIdSummaryRecord()
6930 ModuleSummaryIndexBitcodeReader::parseParamAccesses(ArrayRef<uint64_t> Record) { in parseParamAccesses() argument
6933 BitcodeReader::decodeSignRotatedValue(Record.front())); in parseParamAccesses()
6934 Record = Record.drop_front(); in parseParamAccesses()
6936 BitcodeReader::decodeSignRotatedValue(Record.front())); in parseParamAccesses()
6937 Record = Record.drop_front(); in parseParamAccesses()
6945 while (!Record.empty()) { in parseParamAccesses()
6948 ParamAccess.ParamNo = Record.front(); in parseParamAccesses()
6949 Record = Record.drop_front(); in parseParamAccesses()
6951 ParamAccess.Calls.resize(Record.front()); in parseParamAccesses()
6952 Record = Record.drop_front(); in parseParamAccesses()
6954 Call.ParamNo = Record.front(); in parseParamAccesses()
6955 Record = Record.drop_front(); in parseParamAccesses()
6956 Call.Callee = getValueInfoFromValueId(Record.front()).first; in parseParamAccesses()
6957 Record = Record.drop_front(); in parseParamAccesses()
6965 ArrayRef<uint64_t> Record, size_t &Slot, in parseTypeIdCompatibleVtableInfo() argument
6967 uint64_t Offset = Record[Slot++]; in parseTypeIdCompatibleVtableInfo()
6968 ValueInfo Callee = getValueInfoFromValueId(Record[Slot++]).first; in parseTypeIdCompatibleVtableInfo()
6973 ArrayRef<uint64_t> Record) { in parseTypeIdCompatibleVtableSummaryRecord() argument
6977 {Strtab.data() + Record[Slot], in parseTypeIdCompatibleVtableSummaryRecord()
6978 static_cast<size_t>(Record[Slot + 1])}); in parseTypeIdCompatibleVtableSummaryRecord()
6981 while (Slot < Record.size()) in parseTypeIdCompatibleVtableSummaryRecord()
6982 parseTypeIdCompatibleVtableInfo(Record, Slot, TypeId); in parseTypeIdCompatibleVtableSummaryRecord()
7002 SmallVector<uint64_t, 64> Record; in parseEntireSummary() local
7011 if (Entry.Kind != BitstreamEntry::Record) in parseEntireSummary()
7013 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseEntireSummary()
7019 const uint64_t Version = Record[0]; in parseEntireSummary()
7026 Record.clear(); in parseEntireSummary()
7055 case BitstreamEntry::Record: in parseEntireSummary()
7067 Record.clear(); in parseEntireSummary()
7068 Expected<unsigned> MaybeBitCode = Stream.readRecord(Entry.ID, Record); in parseEntireSummary()
7075 TheIndex.setFlags(Record[0]); in parseEntireSummary()
7079 uint64_t ValueID = Record[0]; in parseEntireSummary()
7080 GlobalValue::GUID RefGUID = Record[1]; in parseEntireSummary()
7096 unsigned ValueID = Record[0]; in parseEntireSummary()
7097 uint64_t RawFlags = Record[1]; in parseEntireSummary()
7098 unsigned InstCount = Record[2]; in parseEntireSummary()
7100 unsigned NumRefs = Record[3]; in parseEntireSummary()
7104 RawFunFlags = Record[3]; in parseEntireSummary()
7105 NumRefs = Record[4]; in parseEntireSummary()
7108 NumRORefs = Record[5]; in parseEntireSummary()
7111 NumWORefs = Record[6]; in parseEntireSummary()
7124 assert(Record.size() >= RefListStartIndex + NumRefs && in parseEntireSummary()
7127 ArrayRef<uint64_t>(Record).slice(RefListStartIndex, NumRefs)); in parseEntireSummary()
7131 ArrayRef<uint64_t>(Record).slice(CallGraphEdgeStartIndex), in parseEntireSummary()
7152 unsigned ValueID = Record[0]; in parseEntireSummary()
7153 uint64_t RawFlags = Record[1]; in parseEntireSummary()
7154 unsigned AliaseeID = Record[2]; in parseEntireSummary()
7177 unsigned ValueID = Record[0]; in parseEntireSummary()
7178 uint64_t RawFlags = Record[1]; in parseEntireSummary()
7186 GVF = getDecodedGVarFlags(Record[2]); in parseEntireSummary()
7190 makeRefList(ArrayRef<uint64_t>(Record).slice(RefArrayStart)); in parseEntireSummary()
7203 unsigned ValueID = Record[0]; in parseEntireSummary()
7204 uint64_t RawFlags = Record[1]; in parseEntireSummary()
7205 GlobalVarSummary::GVarFlags GVF = getDecodedGVarFlags(Record[2]); in parseEntireSummary()
7206 unsigned NumRefs = Record[3]; in parseEntireSummary()
7211 ArrayRef<uint64_t>(Record).slice(RefListStartIndex, NumRefs)); in parseEntireSummary()
7213 for (unsigned I = VTableListStartIndex, E = Record.size(); I != E; ++I) { in parseEntireSummary()
7214 ValueInfo Callee = getValueInfoFromValueId(Record[I]).first; in parseEntireSummary()
7215 uint64_t Offset = Record[++I]; in parseEntireSummary()
7233 unsigned ValueID = Record[0]; in parseEntireSummary()
7234 uint64_t ModuleId = Record[1]; in parseEntireSummary()
7235 uint64_t RawFlags = Record[2]; in parseEntireSummary()
7236 unsigned InstCount = Record[3]; in parseEntireSummary()
7239 unsigned NumRefs = Record[4]; in parseEntireSummary()
7244 RawFunFlags = Record[4]; in parseEntireSummary()
7252 EntryCount = Record[5]; in parseEntireSummary()
7256 NumWORefs = Record[8]; in parseEntireSummary()
7260 NumRORefs = Record[RefListStartIndex - NumRORefsOffset]; in parseEntireSummary()
7262 NumRefs = Record[NumRefsIndex]; in parseEntireSummary()
7267 assert(Record.size() >= RefListStartIndex + NumRefs && in parseEntireSummary()
7270 ArrayRef<uint64_t>(Record).slice(RefListStartIndex, NumRefs)); in parseEntireSummary()
7273 ArrayRef<uint64_t>(Record).slice(CallGraphEdgeStartIndex), in parseEntireSummary()
7295 unsigned ValueID = Record[0]; in parseEntireSummary()
7296 uint64_t ModuleId = Record[1]; in parseEntireSummary()
7297 uint64_t RawFlags = Record[2]; in parseEntireSummary()
7298 unsigned AliaseeValueId = Record[3]; in parseEntireSummary()
7315 unsigned ValueID = Record[0]; in parseEntireSummary()
7316 uint64_t ModuleId = Record[1]; in parseEntireSummary()
7317 uint64_t RawFlags = Record[2]; in parseEntireSummary()
7325 GVF = getDecodedGVarFlags(Record[3]); in parseEntireSummary()
7329 makeRefList(ArrayRef<uint64_t>(Record).slice(RefArrayStart)); in parseEntireSummary()
7341 uint64_t OriginalName = Record[0]; in parseEntireSummary()
7353 llvm::append_range(PendingTypeTests, Record); in parseEntireSummary()
7358 for (unsigned I = 0; I != Record.size(); I += 2) in parseEntireSummary()
7359 PendingTypeTestAssumeVCalls.push_back({Record[I], Record[I+1]}); in parseEntireSummary()
7364 for (unsigned I = 0; I != Record.size(); I += 2) in parseEntireSummary()
7365 PendingTypeCheckedLoadVCalls.push_back({Record[I], Record[I+1]}); in parseEntireSummary()
7370 {{Record[0], Record[1]}, {Record.begin() + 2, Record.end()}}); in parseEntireSummary()
7375 {{Record[0], Record[1]}, {Record.begin() + 2, Record.end()}}); in parseEntireSummary()
7380 for (unsigned I = 0; I != Record.size(); I += 2) in parseEntireSummary()
7382 {Strtab.data() + Record[I], static_cast<size_t>(Record[I + 1])}); in parseEntireSummary()
7388 for (unsigned I = 0; I != Record.size(); I += 2) in parseEntireSummary()
7390 {Strtab.data() + Record[I], static_cast<size_t>(Record[I + 1])}); in parseEntireSummary()
7395 parseTypeIdSummaryRecord(Record, Strtab, TheIndex); in parseEntireSummary()
7399 parseTypeIdCompatibleVtableSummaryRecord(Record); in parseEntireSummary()
7403 TheIndex.addBlockCount(Record[0]); in parseEntireSummary()
7407 PendingParamAccesses = parseParamAccesses(Record); in parseEntireSummary()
7421 SmallVector<uint64_t, 64> Record; in parseModuleStringTable() local
7438 case BitstreamEntry::Record: in parseModuleStringTable()
7443 Record.clear(); in parseModuleStringTable()
7444 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseModuleStringTable()
7452 uint64_t ModuleId = Record[0]; in parseModuleStringTable()
7454 if (convertToString(Record, 1, ModulePath)) in parseModuleStringTable()
7465 if (Record.size() != 5) in parseModuleStringTable()
7466 return error("Invalid hash length " + Twine(Record.size()).str()); in parseModuleStringTable()
7470 for (auto &Val : Record) { in parseModuleStringTable()
7534 case BitstreamEntry::Record: in readBlobInRecord()
7536 SmallVector<uint64_t, 1> Record; in readBlobInRecord() local
7538 Stream.readRecord(Entry.ID, Record, &Blob); in readBlobInRecord()
7661 case BitstreamEntry::Record: in getBitcodeFileContents()
7760 SmallVector<uint64_t, 64> Record; in getEnableSplitLTOUnitFlag() local
7775 case BitstreamEntry::Record: in getEnableSplitLTOUnitFlag()
7781 Record.clear(); in getEnableSplitLTOUnitFlag()
7782 Expected<unsigned> MaybeBitCode = Stream.readRecord(Entry.ID, Record); in getEnableSplitLTOUnitFlag()
7789 uint64_t Flags = Record[0]; in getEnableSplitLTOUnitFlag()
7845 case BitstreamEntry::Record: in getLTOInfo()