Lines Matching refs:Record

151 static bool convertToString(ArrayRef<uint64_t> Record, unsigned Idx,  in convertToString()  argument
153 if (Idx > Record.size()) in convertToString()
156 Result.append(Record.begin() + Idx, Record.end()); in convertToString()
177 SmallVector<uint64_t, 64> Record; in readIdentificationBlock() local
194 case BitstreamEntry::Record: in readIdentificationBlock()
200 Record.clear(); in readIdentificationBlock()
201 Expected<unsigned> MaybeBitCode = Stream.readRecord(Entry.ID, Record); in readIdentificationBlock()
208 convertToString(Record, 0, ProducerIdentification); in readIdentificationBlock()
211 unsigned epoch = (unsigned)Record[0]; in readIdentificationBlock()
248 case BitstreamEntry::Record: in readIdentificationCode()
261 SmallVector<uint64_t, 64> Record; in hasObjCCategoryInModule() local
276 case BitstreamEntry::Record: in hasObjCCategoryInModule()
282 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in hasObjCCategoryInModule()
290 if (convertToString(Record, 0, S)) in hasObjCCategoryInModule()
299 Record.clear(); in hasObjCCategoryInModule()
329 case BitstreamEntry::Record: in hasObjCCategory()
342 SmallVector<uint64_t, 64> Record; in readModuleTriple() local
359 case BitstreamEntry::Record: in readModuleTriple()
365 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in readModuleTriple()
372 if (convertToString(Record, 0, S)) in readModuleTriple()
378 Record.clear(); in readModuleTriple()
407 case BitstreamEntry::Record: in readTriple()
433 Expected<unsigned> parseVersionRecord(ArrayRef<uint64_t> Record);
439 readNameFromStrtab(ArrayRef<uint64_t> Record);
460 BitcodeReaderBase::parseVersionRecord(ArrayRef<uint64_t> Record) { in parseVersionRecord() argument
461 if (Record.empty()) in parseVersionRecord()
463 unsigned ModuleVersion = Record[0]; in parseVersionRecord()
471 BitcodeReaderBase::readNameFromStrtab(ArrayRef<uint64_t> Record) { in readNameFromStrtab() argument
473 return {"", Record}; in readNameFromStrtab()
475 if (Record[0] + Record[1] > Strtab.size()) in readNameFromStrtab()
477 return {StringRef(Strtab.data() + Record[0], Record[1]), Record.slice(2)}; in readNameFromStrtab()
622 bool getValueTypePair(const SmallVectorImpl<uint64_t> &Record, unsigned &Slot, in getValueTypePair() argument
624 if (Slot == Record.size()) return true; in getValueTypePair()
625 unsigned ValNo = (unsigned)Record[Slot++]; in getValueTypePair()
635 if (Slot == Record.size()) in getValueTypePair()
638 unsigned TypeNo = (unsigned)Record[Slot++]; in getValueTypePair()
646 bool popValue(const SmallVectorImpl<uint64_t> &Record, unsigned &Slot, in popValue() argument
648 if (getValue(Record, Slot, InstNum, Ty, ResVal)) in popValue()
656 bool getValue(const SmallVectorImpl<uint64_t> &Record, unsigned Slot, in getValue() argument
658 ResVal = getValue(Record, Slot, InstNum, Ty); in getValue()
664 Value *getValue(const SmallVectorImpl<uint64_t> &Record, unsigned Slot, in getValue() argument
666 if (Slot == Record.size()) return nullptr; in getValue()
667 unsigned ValNo = (unsigned)Record[Slot]; in getValue()
675 Value *getValueSigned(const SmallVectorImpl<uint64_t> &Record, unsigned Slot, in getValueSigned() argument
677 if (Slot == Record.size()) return nullptr; in getValueSigned()
678 unsigned ValNo = (unsigned)decodeSignRotatedValue(Record[Slot]); in getValueSigned()
699 Error parseComdatRecord(ArrayRef<uint64_t> Record);
700 Error parseGlobalVarRecord(ArrayRef<uint64_t> Record);
701 Error parseFunctionRecord(ArrayRef<uint64_t> Record);
703 ArrayRef<uint64_t> Record);
712 Expected<Value *> recordValue(SmallVectorImpl<uint64_t> &Record,
715 ArrayRef<uint64_t> Record);
794 std::vector<ValueInfo> makeRefList(ArrayRef<uint64_t> Record);
795 std::vector<FunctionSummary::EdgeTy> makeCallList(ArrayRef<uint64_t> Record,
801 void parseTypeIdCompatibleVtableSummaryRecord(ArrayRef<uint64_t> Record);
802 void parseTypeIdCompatibleVtableInfo(ArrayRef<uint64_t> Record, size_t &Slot,
805 parseParamAccesses(ArrayRef<uint64_t> Record);
1315 SmallVector<uint64_t, 64> Record; in parseAttributeBlock() local
1332 case BitstreamEntry::Record: in parseAttributeBlock()
1338 Record.clear(); in parseAttributeBlock()
1339 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseAttributeBlock()
1347 if (Record.size() & 1) in parseAttributeBlock()
1350 for (unsigned i = 0, e = Record.size(); i != e; i += 2) { in parseAttributeBlock()
1352 decodeLLVMAttributesForBitcode(B, Record[i+1]); in parseAttributeBlock()
1353 Attrs.push_back(AttributeList::get(Context, Record[i], B)); in parseAttributeBlock()
1360 for (unsigned i = 0, e = Record.size(); i != e; ++i) in parseAttributeBlock()
1361 Attrs.push_back(MAttributeGroups[Record[i]]); in parseAttributeBlock()
1556 SmallVector<uint64_t, 64> Record; in parseAttributeGroupBlock() local
1571 case BitstreamEntry::Record: in parseAttributeGroupBlock()
1577 Record.clear(); in parseAttributeGroupBlock()
1578 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseAttributeGroupBlock()
1585 if (Record.size() < 3) in parseAttributeGroupBlock()
1588 uint64_t GrpID = Record[0]; in parseAttributeGroupBlock()
1589 uint64_t Idx = Record[1]; // Index of the object this attribute refers to. in parseAttributeGroupBlock()
1592 for (unsigned i = 2, e = Record.size(); i != e; ++i) { in parseAttributeGroupBlock()
1593 if (Record[i] == 0) { // Enum attribute in parseAttributeGroupBlock()
1595 if (Error Err = parseAttrKind(Record[++i], &Kind)) in parseAttributeGroupBlock()
1611 } else if (Record[i] == 1) { // Integer attribute in parseAttributeGroupBlock()
1613 if (Error Err = parseAttrKind(Record[++i], &Kind)) in parseAttributeGroupBlock()
1618 B.addAlignmentAttr(Record[++i]); in parseAttributeGroupBlock()
1620 B.addStackAlignmentAttr(Record[++i]); in parseAttributeGroupBlock()
1622 B.addDereferenceableAttr(Record[++i]); in parseAttributeGroupBlock()
1624 B.addDereferenceableOrNullAttr(Record[++i]); in parseAttributeGroupBlock()
1626 B.addAllocSizeAttrFromRawRepr(Record[++i]); in parseAttributeGroupBlock()
1628 B.addVScaleRangeAttrFromRawRepr(Record[++i]); in parseAttributeGroupBlock()
1629 } else if (Record[i] == 3 || Record[i] == 4) { // String attribute in parseAttributeGroupBlock()
1630 bool HasValue = (Record[i++] == 4); in parseAttributeGroupBlock()
1634 while (Record[i] != 0 && i != e) in parseAttributeGroupBlock()
1635 KindStr += Record[i++]; in parseAttributeGroupBlock()
1636 assert(Record[i] == 0 && "Kind string not null terminated"); in parseAttributeGroupBlock()
1641 while (Record[i] != 0 && i != e) in parseAttributeGroupBlock()
1642 ValStr += Record[i++]; in parseAttributeGroupBlock()
1643 assert(Record[i] == 0 && "Value string not null terminated"); in parseAttributeGroupBlock()
1648 assert((Record[i] == 5 || Record[i] == 6) && in parseAttributeGroupBlock()
1650 bool HasType = Record[i] == 6; in parseAttributeGroupBlock()
1652 if (Error Err = parseAttrKind(Record[++i], &Kind)) in parseAttributeGroupBlock()
1657 B.addTypeAttr(Kind, HasType ? getTypeByID(Record[++i]) : nullptr); in parseAttributeGroupBlock()
1680 SmallVector<uint64_t, 64> Record; in parseTypeTableBody() local
1700 case BitstreamEntry::Record: in parseTypeTableBody()
1706 Record.clear(); in parseTypeTableBody()
1708 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseTypeTableBody()
1717 if (Record.empty()) in parseTypeTableBody()
1719 TypeList.resize(Record[0]); in parseTypeTableBody()
1761 if (Record.empty()) in parseTypeTableBody()
1764 uint64_t NumBits = Record[0]; in parseTypeTableBody()
1773 if (Record.empty()) in parseTypeTableBody()
1776 if (Record.size() == 2) in parseTypeTableBody()
1777 AddressSpace = Record[1]; in parseTypeTableBody()
1778 ResultTy = getTypeByID(Record[0]); in parseTypeTableBody()
1786 if (Record.size() != 1) in parseTypeTableBody()
1788 unsigned AddressSpace = Record[0]; in parseTypeTableBody()
1795 if (Record.size() < 3) in parseTypeTableBody()
1798 for (unsigned i = 3, e = Record.size(); i != e; ++i) { in parseTypeTableBody()
1799 if (Type *T = getTypeByID(Record[i])) in parseTypeTableBody()
1805 ResultTy = getTypeByID(Record[2]); in parseTypeTableBody()
1806 if (!ResultTy || ArgTys.size() < Record.size()-3) in parseTypeTableBody()
1809 ResultTy = FunctionType::get(ResultTy, ArgTys, Record[0]); in parseTypeTableBody()
1814 if (Record.size() < 2) in parseTypeTableBody()
1817 for (unsigned i = 2, e = Record.size(); i != e; ++i) { in parseTypeTableBody()
1818 if (Type *T = getTypeByID(Record[i])) { in parseTypeTableBody()
1827 ResultTy = getTypeByID(Record[1]); in parseTypeTableBody()
1828 if (!ResultTy || ArgTys.size() < Record.size()-2) in parseTypeTableBody()
1831 ResultTy = FunctionType::get(ResultTy, ArgTys, Record[0]); in parseTypeTableBody()
1835 if (Record.empty()) in parseTypeTableBody()
1838 for (unsigned i = 1, e = Record.size(); i != e; ++i) { in parseTypeTableBody()
1839 if (Type *T = getTypeByID(Record[i])) in parseTypeTableBody()
1844 if (EltTys.size() != Record.size()-1) in parseTypeTableBody()
1846 ResultTy = StructType::get(Context, EltTys, Record[0]); in parseTypeTableBody()
1850 if (convertToString(Record, 0, TypeName)) in parseTypeTableBody()
1855 if (Record.empty()) in parseTypeTableBody()
1871 for (unsigned i = 1, e = Record.size(); i != e; ++i) { in parseTypeTableBody()
1872 if (Type *T = getTypeByID(Record[i])) in parseTypeTableBody()
1877 if (EltTys.size() != Record.size()-1) in parseTypeTableBody()
1879 Res->setBody(EltTys, Record[0]); in parseTypeTableBody()
1884 if (Record.size() != 1) in parseTypeTableBody()
1902 if (Record.size() < 2) in parseTypeTableBody()
1904 ResultTy = getTypeByID(Record[1]); in parseTypeTableBody()
1907 ResultTy = ArrayType::get(ResultTy, Record[0]); in parseTypeTableBody()
1911 if (Record.size() < 2) in parseTypeTableBody()
1913 if (Record[0] == 0) in parseTypeTableBody()
1915 ResultTy = getTypeByID(Record[1]); in parseTypeTableBody()
1918 bool Scalable = Record.size() > 2 ? Record[2] : false; in parseTypeTableBody()
1919 ResultTy = VectorType::get(ResultTy, Record[0], Scalable); in parseTypeTableBody()
1940 SmallVector<uint64_t, 64> Record; in parseOperandBundleTags() local
1954 case BitstreamEntry::Record: in parseOperandBundleTags()
1961 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseOperandBundleTags()
1969 if (convertToString(Record, 0, BundleTags.back())) in parseOperandBundleTags()
1971 Record.clear(); in parseOperandBundleTags()
1982 SmallVector<uint64_t, 64> Record; in parseSyncScopeNames() local
1997 case BitstreamEntry::Record: in parseSyncScopeNames()
2005 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseSyncScopeNames()
2012 if (convertToString(Record, 0, SSN)) in parseSyncScopeNames()
2016 Record.clear(); in parseSyncScopeNames()
2021 Expected<Value *> BitcodeReader::recordValue(SmallVectorImpl<uint64_t> &Record, in recordValue() argument
2024 if (convertToString(Record, NameIndex, ValueName)) in recordValue()
2026 unsigned ValueID = Record[0]; in recordValue()
2066 ArrayRef<uint64_t> Record) { in setDeferredFunctionInfo() argument
2070 uint64_t FuncWordOffset = Record[1] - 1; in setDeferredFunctionInfo()
2088 SmallVector<uint64_t, 64> Record; in parseGlobalValueSymbolTable() local
2101 case BitstreamEntry::Record: in parseGlobalValueSymbolTable()
2105 Record.clear(); in parseGlobalValueSymbolTable()
2106 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseGlobalValueSymbolTable()
2112 cast<Function>(ValueList[Record[0]]), Record); in parseGlobalValueSymbolTable()
2159 SmallVector<uint64_t, 64> Record; in parseValueSymbolTable() local
2181 case BitstreamEntry::Record: in parseValueSymbolTable()
2187 Record.clear(); in parseValueSymbolTable()
2188 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseValueSymbolTable()
2195 Expected<Value *> ValOrErr = recordValue(Record, 1, TT); in parseValueSymbolTable()
2203 Expected<Value *> ValOrErr = recordValue(Record, 2, TT); in parseValueSymbolTable()
2211 setDeferredFunctionInfo(FuncBitcodeOffsetDelta, F, Record); in parseValueSymbolTable()
2215 if (convertToString(Record, 1, ValueName)) in parseValueSymbolTable()
2217 BasicBlock *BB = getBasicBlock(Record[0]); in parseValueSymbolTable()
2339 SmallVector<uint64_t, 64> Record; in parseConstants() local
2396 case BitstreamEntry::Record: in parseConstants()
2402 Record.clear(); in parseConstants()
2405 Expected<unsigned> MaybeBitCode = Stream.readRecord(Entry.ID, Record); in parseConstants()
2417 if (Record.empty()) in parseConstants()
2419 if (Record[0] >= TypeList.size() || !TypeList[Record[0]]) in parseConstants()
2421 if (TypeList[Record[0]] == VoidType) in parseConstants()
2423 CurTy = TypeList[Record[0]]; in parseConstants()
2431 if (!CurTy->isIntegerTy() || Record.empty()) in parseConstants()
2433 V = ConstantInt::get(CurTy, decodeSignRotatedValue(Record[0])); in parseConstants()
2436 if (!CurTy->isIntegerTy() || Record.empty()) in parseConstants()
2440 readWideAPInt(Record, cast<IntegerType>(CurTy)->getBitWidth()); in parseConstants()
2446 if (Record.empty()) in parseConstants()
2450 APInt(16, (uint16_t)Record[0]))); in parseConstants()
2453 APInt(16, (uint32_t)Record[0]))); in parseConstants()
2456 APInt(32, (uint32_t)Record[0]))); in parseConstants()
2459 APInt(64, Record[0]))); in parseConstants()
2463 Rearrange[0] = (Record[1] & 0xffffLL) | (Record[0] << 16); in parseConstants()
2464 Rearrange[1] = Record[0] >> 48; in parseConstants()
2469 APInt(128, Record))); in parseConstants()
2472 APInt(128, Record))); in parseConstants()
2479 if (Record.empty()) in parseConstants()
2482 unsigned Size = Record.size(); in parseConstants()
2487 Elts.push_back(ValueList.getConstantFwdRef(Record[i], in parseConstants()
2493 Elts.push_back(ValueList.getConstantFwdRef(Record[i], EltTy)); in parseConstants()
2498 Elts.push_back(ValueList.getConstantFwdRef(Record[i], EltTy)); in parseConstants()
2507 if (Record.empty()) in parseConstants()
2510 SmallString<16> Elts(Record.begin(), Record.end()); in parseConstants()
2516 if (Record.empty()) in parseConstants()
2525 SmallVector<uint8_t, 16> Elts(Record.begin(), Record.end()); in parseConstants()
2531 SmallVector<uint16_t, 16> Elts(Record.begin(), Record.end()); in parseConstants()
2537 SmallVector<uint32_t, 16> Elts(Record.begin(), Record.end()); in parseConstants()
2543 SmallVector<uint64_t, 16> Elts(Record.begin(), Record.end()); in parseConstants()
2549 SmallVector<uint16_t, 16> Elts(Record.begin(), Record.end()); in parseConstants()
2555 SmallVector<uint16_t, 16> Elts(Record.begin(), Record.end()); in parseConstants()
2561 SmallVector<uint32_t, 16> Elts(Record.begin(), Record.end()); in parseConstants()
2567 SmallVector<uint64_t, 16> Elts(Record.begin(), Record.end()); in parseConstants()
2578 if (Record.size() < 2) in parseConstants()
2580 int Opc = getDecodedUnaryOpcode(Record[0], CurTy); in parseConstants()
2584 Constant *LHS = ValueList.getConstantFwdRef(Record[1], CurTy); in parseConstants()
2591 if (Record.size() < 3) in parseConstants()
2593 int Opc = getDecodedBinaryOpcode(Record[0], CurTy); in parseConstants()
2597 Constant *LHS = ValueList.getConstantFwdRef(Record[1], CurTy); in parseConstants()
2598 Constant *RHS = ValueList.getConstantFwdRef(Record[2], CurTy); in parseConstants()
2600 if (Record.size() >= 4) { in parseConstants()
2605 if (Record[3] & (1 << bitc::OBO_NO_SIGNED_WRAP)) in parseConstants()
2607 if (Record[3] & (1 << bitc::OBO_NO_UNSIGNED_WRAP)) in parseConstants()
2613 if (Record[3] & (1 << bitc::PEO_EXACT)) in parseConstants()
2622 if (Record.size() < 3) in parseConstants()
2624 int Opc = getDecodedCastOpcode(Record[0]); in parseConstants()
2628 Type *OpTy = getTypeByID(Record[1]); in parseConstants()
2631 Constant *Op = ValueList.getConstantFwdRef(Record[2], OpTy); in parseConstants()
2644 Record.size() % 2) in parseConstants()
2645 PointeeType = getTypeByID(Record[OpNum++]); in parseConstants()
2650 uint64_t Op = Record[OpNum++]; in parseConstants()
2658 while (OpNum != Record.size()) { in parseConstants()
2660 Elt0FullTy = getTypeByID(Record[OpNum]); in parseConstants()
2661 Type *ElTy = getTypeByID(Record[OpNum++]); in parseConstants()
2664 Elts.push_back(ValueList.getConstantFwdRef(Record[OpNum++], ElTy)); in parseConstants()
2683 if (Record.size() < 3) in parseConstants()
2691 if (Value *V = ValueList[Record[0]]) in parseConstants()
2696 V = ConstantExpr::getSelect(ValueList.getConstantFwdRef(Record[0], in parseConstants()
2698 ValueList.getConstantFwdRef(Record[1],CurTy), in parseConstants()
2699 ValueList.getConstantFwdRef(Record[2],CurTy)); in parseConstants()
2704 if (Record.size() < 3) in parseConstants()
2707 dyn_cast_or_null<VectorType>(getTypeByID(Record[0])); in parseConstants()
2710 Constant *Op0 = ValueList.getConstantFwdRef(Record[1], OpTy); in parseConstants()
2712 if (Record.size() == 4) { in parseConstants()
2713 Type *IdxTy = getTypeByID(Record[2]); in parseConstants()
2716 Op1 = ValueList.getConstantFwdRef(Record[3], IdxTy); in parseConstants()
2719 Op1 = ValueList.getConstantFwdRef(Record[2], Type::getInt32Ty(Context)); in parseConstants()
2729 if (Record.size() < 3 || !OpTy) in parseConstants()
2731 Constant *Op0 = ValueList.getConstantFwdRef(Record[0], OpTy); in parseConstants()
2732 Constant *Op1 = ValueList.getConstantFwdRef(Record[1], in parseConstants()
2735 if (Record.size() == 4) { in parseConstants()
2736 Type *IdxTy = getTypeByID(Record[2]); in parseConstants()
2739 Op2 = ValueList.getConstantFwdRef(Record[3], IdxTy); in parseConstants()
2742 Op2 = ValueList.getConstantFwdRef(Record[2], Type::getInt32Ty(Context)); in parseConstants()
2751 if (Record.size() < 3 || !OpTy) in parseConstants()
2754 {OpTy, OpTy, Record[0], Record[1], Record[2], NextCstNo}); in parseConstants()
2761 dyn_cast_or_null<VectorType>(getTypeByID(Record[0])); in parseConstants()
2762 if (Record.size() < 4 || !RTy || !OpTy) in parseConstants()
2765 {OpTy, RTy, Record[1], Record[2], Record[3], NextCstNo}); in parseConstants()
2770 if (Record.size() < 4) in parseConstants()
2772 Type *OpTy = getTypeByID(Record[0]); in parseConstants()
2775 Constant *Op0 = ValueList.getConstantFwdRef(Record[1], OpTy); in parseConstants()
2776 Constant *Op1 = ValueList.getConstantFwdRef(Record[2], OpTy); in parseConstants()
2779 V = ConstantExpr::getFCmp(Record[3], Op0, Op1); in parseConstants()
2781 V = ConstantExpr::getICmp(Record[3], Op0, Op1); in parseConstants()
2787 if (Record.size() < 2) in parseConstants()
2790 bool HasSideEffects = Record[0] & 1; in parseConstants()
2791 bool IsAlignStack = Record[0] >> 1; in parseConstants()
2792 unsigned AsmStrSize = Record[1]; in parseConstants()
2793 if (2+AsmStrSize >= Record.size()) in parseConstants()
2795 unsigned ConstStrSize = Record[2+AsmStrSize]; in parseConstants()
2796 if (3+AsmStrSize+ConstStrSize > Record.size()) in parseConstants()
2800 AsmStr += (char)Record[2+i]; in parseConstants()
2802 ConstrStr += (char)Record[3+AsmStrSize+i]; in parseConstants()
2812 if (Record.size() < 2) in parseConstants()
2815 bool HasSideEffects = Record[0] & 1; in parseConstants()
2816 bool IsAlignStack = (Record[0] >> 1) & 1; in parseConstants()
2817 unsigned AsmDialect = Record[0] >> 2; in parseConstants()
2818 unsigned AsmStrSize = Record[1]; in parseConstants()
2819 if (2+AsmStrSize >= Record.size()) in parseConstants()
2821 unsigned ConstStrSize = Record[2+AsmStrSize]; in parseConstants()
2822 if (3+AsmStrSize+ConstStrSize > Record.size()) in parseConstants()
2826 AsmStr += (char)Record[2+i]; in parseConstants()
2828 ConstrStr += (char)Record[3+AsmStrSize+i]; in parseConstants()
2838 if (Record.size() < 2) in parseConstants()
2841 bool HasSideEffects = Record[0] & 1; in parseConstants()
2842 bool IsAlignStack = (Record[0] >> 1) & 1; in parseConstants()
2843 unsigned AsmDialect = (Record[0] >> 2) & 1; in parseConstants()
2844 bool CanThrow = (Record[0] >> 3) & 1; in parseConstants()
2845 unsigned AsmStrSize = Record[1]; in parseConstants()
2846 if (2 + AsmStrSize >= Record.size()) in parseConstants()
2848 unsigned ConstStrSize = Record[2 + AsmStrSize]; in parseConstants()
2849 if (3 + AsmStrSize + ConstStrSize > Record.size()) in parseConstants()
2853 AsmStr += (char)Record[2 + i]; in parseConstants()
2855 ConstrStr += (char)Record[3 + AsmStrSize + i]; in parseConstants()
2864 if (Record.size() < 3) in parseConstants()
2866 Type *FnTy = getTypeByID(Record[0]); in parseConstants()
2870 dyn_cast_or_null<Function>(ValueList.getConstantFwdRef(Record[1],FnTy)); in parseConstants()
2877 unsigned BBID = Record[2]; in parseConstants()
2905 if (Record.size() < 2) in parseConstants()
2907 Type *GVTy = getTypeByID(Record[0]); in parseConstants()
2911 ValueList.getConstantFwdRef(Record[1], GVTy)); in parseConstants()
2930 SmallVector<uint64_t, 64> Record; in parseUseLists() local
2944 case BitstreamEntry::Record: in parseUseLists()
2950 Record.clear(); in parseUseLists()
2952 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseUseLists()
2962 unsigned RecordLength = Record.size(); in parseUseLists()
2966 unsigned ID = Record.pop_back_val(); in parseUseLists()
2977 if (++NumUses > Record.size()) in parseUseLists()
2979 Order[&U] = Record[NumUses - 1]; in parseUseLists()
2981 if (Order.size() != Record.size() || NumUses > Record.size()) in parseUseLists()
3117 SmallVector<uint64_t, 64> Record; in rememberAndSkipFunctionBodies() local
3155 Error BitcodeReader::parseComdatRecord(ArrayRef<uint64_t> Record) { in parseComdatRecord() argument
3159 std::tie(Name, Record) = readNameFromStrtab(Record); in parseComdatRecord()
3161 if (Record.empty()) in parseComdatRecord()
3163 Comdat::SelectionKind SK = getDecodedComdatSelectionKind(Record[0]); in parseComdatRecord()
3166 if (Record.size() < 2) in parseComdatRecord()
3168 unsigned ComdatNameSize = Record[1]; in parseComdatRecord()
3171 OldFormatName += (char)Record[2 + i]; in parseComdatRecord()
3187 Error BitcodeReader::parseGlobalVarRecord(ArrayRef<uint64_t> Record) { in parseGlobalVarRecord() argument
3194 std::tie(Name, Record) = readNameFromStrtab(Record); in parseGlobalVarRecord()
3196 if (Record.size() < 6) in parseGlobalVarRecord()
3198 Type *Ty = getTypeByID(Record[0]); in parseGlobalVarRecord()
3201 bool isConstant = Record[1] & 1; in parseGlobalVarRecord()
3202 bool explicitType = Record[1] & 2; in parseGlobalVarRecord()
3205 AddressSpace = Record[1] >> 2; in parseGlobalVarRecord()
3213 uint64_t RawLinkage = Record[3]; in parseGlobalVarRecord()
3216 if (Error Err = parseAlignmentValue(Record[4], Alignment)) in parseGlobalVarRecord()
3219 if (Record[5]) { in parseGlobalVarRecord()
3220 if (Record[5] - 1 >= SectionTable.size()) in parseGlobalVarRecord()
3222 Section = SectionTable[Record[5] - 1]; in parseGlobalVarRecord()
3227 if (Record.size() > 6 && !GlobalValue::isLocalLinkage(Linkage)) in parseGlobalVarRecord()
3228 Visibility = getDecodedVisibility(Record[6]); in parseGlobalVarRecord()
3231 if (Record.size() > 7) in parseGlobalVarRecord()
3232 TLM = getDecodedThreadLocalMode(Record[7]); in parseGlobalVarRecord()
3235 if (Record.size() > 8) in parseGlobalVarRecord()
3236 UnnamedAddr = getDecodedUnnamedAddrType(Record[8]); in parseGlobalVarRecord()
3239 if (Record.size() > 9) in parseGlobalVarRecord()
3240 ExternallyInitialized = Record[9]; in parseGlobalVarRecord()
3251 if (Record.size() > 10) in parseGlobalVarRecord()
3252 NewGV->setDLLStorageClass(getDecodedDLLStorageClass(Record[10])); in parseGlobalVarRecord()
3259 if (unsigned InitID = Record[2]) in parseGlobalVarRecord()
3262 if (Record.size() > 11) { in parseGlobalVarRecord()
3263 if (unsigned ComdatID = Record[11]) { in parseGlobalVarRecord()
3272 if (Record.size() > 12) { in parseGlobalVarRecord()
3273 auto AS = getAttributes(Record[12]).getFnAttributes(); in parseGlobalVarRecord()
3277 if (Record.size() > 13) { in parseGlobalVarRecord()
3278 NewGV->setDSOLocal(getDecodedDSOLocal(Record[13])); in parseGlobalVarRecord()
3283 if (Record.size() > 15) in parseGlobalVarRecord()
3284 NewGV->setPartition(StringRef(Strtab.data() + Record[14], Record[15])); in parseGlobalVarRecord()
3289 Error BitcodeReader::parseFunctionRecord(ArrayRef<uint64_t> Record) { in parseFunctionRecord() argument
3295 std::tie(Name, Record) = readNameFromStrtab(Record); in parseFunctionRecord()
3297 if (Record.size() < 8) in parseFunctionRecord()
3299 Type *FTy = getTypeByID(Record[0]); in parseFunctionRecord()
3307 auto CC = static_cast<CallingConv::ID>(Record[1]); in parseFunctionRecord()
3312 if (Record.size() > 16) in parseFunctionRecord()
3313 AddrSpace = Record[16]; in parseFunctionRecord()
3324 bool isProto = Record[2]; in parseFunctionRecord()
3325 uint64_t RawLinkage = Record[3]; in parseFunctionRecord()
3327 Func->setAttributes(getAttributes(Record[4])); in parseFunctionRecord()
3365 if (Error Err = parseAlignmentValue(Record[5], Alignment)) in parseFunctionRecord()
3368 if (Record[6]) { in parseFunctionRecord()
3369 if (Record[6] - 1 >= SectionTable.size()) in parseFunctionRecord()
3371 Func->setSection(SectionTable[Record[6] - 1]); in parseFunctionRecord()
3376 Func->setVisibility(getDecodedVisibility(Record[7])); in parseFunctionRecord()
3377 if (Record.size() > 8 && Record[8]) { in parseFunctionRecord()
3378 if (Record[8] - 1 >= GCTable.size()) in parseFunctionRecord()
3380 Func->setGC(GCTable[Record[8] - 1]); in parseFunctionRecord()
3383 if (Record.size() > 9) in parseFunctionRecord()
3384 UnnamedAddr = getDecodedUnnamedAddrType(Record[9]); in parseFunctionRecord()
3386 if (Record.size() > 10 && Record[10] != 0) in parseFunctionRecord()
3387 FunctionPrologues.push_back(std::make_pair(Func, Record[10] - 1)); in parseFunctionRecord()
3389 if (Record.size() > 11) in parseFunctionRecord()
3390 Func->setDLLStorageClass(getDecodedDLLStorageClass(Record[11])); in parseFunctionRecord()
3394 if (Record.size() > 12) { in parseFunctionRecord()
3395 if (unsigned ComdatID = Record[12]) { in parseFunctionRecord()
3404 if (Record.size() > 13 && Record[13] != 0) in parseFunctionRecord()
3405 FunctionPrefixes.push_back(std::make_pair(Func, Record[13] - 1)); in parseFunctionRecord()
3407 if (Record.size() > 14 && Record[14] != 0) in parseFunctionRecord()
3408 FunctionPersonalityFns.push_back(std::make_pair(Func, Record[14] - 1)); in parseFunctionRecord()
3410 if (Record.size() > 15) { in parseFunctionRecord()
3411 Func->setDSOLocal(getDecodedDSOLocal(Record[15])); in parseFunctionRecord()
3419 if (Record.size() > 18 && Strtab.data() && in parseFunctionRecord()
3420 Record[17] + Record[18] <= Strtab.size()) { in parseFunctionRecord()
3421 Func->setPartition(StringRef(Strtab.data() + Record[17], Record[18])); in parseFunctionRecord()
3437 unsigned BitCode, ArrayRef<uint64_t> Record) { in parseGlobalIndirectSymbolRecord() argument
3447 std::tie(Name, Record) = readNameFromStrtab(Record); in parseGlobalIndirectSymbolRecord()
3450 if (Record.size() < (3 + (unsigned)NewRecord)) in parseGlobalIndirectSymbolRecord()
3453 Type *Ty = getTypeByID(Record[OpNum++]); in parseGlobalIndirectSymbolRecord()
3465 AddrSpace = Record[OpNum++]; in parseGlobalIndirectSymbolRecord()
3468 auto Val = Record[OpNum++]; in parseGlobalIndirectSymbolRecord()
3469 auto Linkage = Record[OpNum++]; in parseGlobalIndirectSymbolRecord()
3481 if (OpNum != Record.size()) { in parseGlobalIndirectSymbolRecord()
3484 NewGA->setVisibility(getDecodedVisibility(Record[VisInd])); in parseGlobalIndirectSymbolRecord()
3488 if (OpNum != Record.size()) in parseGlobalIndirectSymbolRecord()
3489 NewGA->setDLLStorageClass(getDecodedDLLStorageClass(Record[OpNum++])); in parseGlobalIndirectSymbolRecord()
3492 if (OpNum != Record.size()) in parseGlobalIndirectSymbolRecord()
3493 NewGA->setThreadLocalMode(getDecodedThreadLocalMode(Record[OpNum++])); in parseGlobalIndirectSymbolRecord()
3494 if (OpNum != Record.size()) in parseGlobalIndirectSymbolRecord()
3495 NewGA->setUnnamedAddr(getDecodedUnnamedAddrType(Record[OpNum++])); in parseGlobalIndirectSymbolRecord()
3497 if (OpNum != Record.size()) in parseGlobalIndirectSymbolRecord()
3498 NewGA->setDSOLocal(getDecodedDSOLocal(Record[OpNum++])); in parseGlobalIndirectSymbolRecord()
3502 if (OpNum + 1 < Record.size()) { in parseGlobalIndirectSymbolRecord()
3504 StringRef(Strtab.data() + Record[OpNum], Record[OpNum + 1])); in parseGlobalIndirectSymbolRecord()
3522 SmallVector<uint64_t, 64> Record; in parseModule() local
3689 case BitstreamEntry::Record: in parseModule()
3695 Expected<unsigned> MaybeBitCode = Stream.readRecord(Entry.ID, Record); in parseModule()
3701 Expected<unsigned> VersionOrErr = parseVersionRecord(Record); in parseModule()
3711 if (convertToString(Record, 0, S)) in parseModule()
3720 if (convertToString(Record, 0, S)) in parseModule()
3727 if (convertToString(Record, 0, S)) in parseModule()
3735 if (convertToString(Record, 0, S)) in parseModule()
3742 if (convertToString(Record, 0, S)) in parseModule()
3749 if (convertToString(Record, 0, S)) in parseModule()
3755 if (Error Err = parseComdatRecord(Record)) in parseModule()
3759 if (Error Err = parseGlobalVarRecord(Record)) in parseModule()
3764 if (Error Err = parseFunctionRecord(Record)) in parseModule()
3770 if (Error Err = parseGlobalIndirectSymbolRecord(BitCode, Record)) in parseModule()
3775 if (Record.empty()) in parseModule()
3780 VSTOffset = Record[0] - 1; in parseModule()
3785 if (convertToString(Record, 0, ValueName)) in parseModule()
3790 Record.clear(); in parseModule()
3899 SmallVector<uint64_t, 64> Record; in parseFunctionBody() local
3945 case BitstreamEntry::Record: in parseFunctionBody()
3951 Record.clear(); in parseFunctionBody()
3953 Expected<unsigned> MaybeBitCode = Stream.readRecord(Entry.ID, Record); in parseFunctionBody()
3960 if (Record.empty() || Record[0] == 0) in parseFunctionBody()
3963 FunctionBBs.resize(Record[0]); in parseFunctionBody()
4007 if (!I || Record.size() < 4) in parseFunctionBody()
4010 unsigned Line = Record[0], Col = Record[1]; in parseFunctionBody()
4011 unsigned ScopeID = Record[2], IAID = Record[3]; in parseFunctionBody()
4012 bool isImplicitCode = Record.size() == 5 && Record[4]; in parseFunctionBody()
4036 if (getValueTypePair(Record, OpNum, NextValueNo, LHS) || in parseFunctionBody()
4037 OpNum+1 > Record.size()) in parseFunctionBody()
4040 int Opc = getDecodedUnaryOpcode(Record[OpNum++], LHS->getType()); in parseFunctionBody()
4045 if (OpNum < Record.size()) { in parseFunctionBody()
4047 FastMathFlags FMF = getDecodedFastMathFlags(Record[OpNum]); in parseFunctionBody()
4057 if (getValueTypePair(Record, OpNum, NextValueNo, LHS) || in parseFunctionBody()
4058 popValue(Record, OpNum, NextValueNo, LHS->getType(), RHS) || in parseFunctionBody()
4059 OpNum+1 > Record.size()) in parseFunctionBody()
4062 int Opc = getDecodedBinaryOpcode(Record[OpNum++], LHS->getType()); in parseFunctionBody()
4067 if (OpNum < Record.size()) { in parseFunctionBody()
4072 if (Record[OpNum] & (1 << bitc::OBO_NO_SIGNED_WRAP)) in parseFunctionBody()
4074 if (Record[OpNum] & (1 << bitc::OBO_NO_UNSIGNED_WRAP)) in parseFunctionBody()
4080 if (Record[OpNum] & (1 << bitc::PEO_EXACT)) in parseFunctionBody()
4083 FastMathFlags FMF = getDecodedFastMathFlags(Record[OpNum]); in parseFunctionBody()
4094 if (getValueTypePair(Record, OpNum, NextValueNo, Op) || in parseFunctionBody()
4095 OpNum+2 != Record.size()) in parseFunctionBody()
4098 Type *ResTy = getTypeByID(Record[OpNum]); in parseFunctionBody()
4099 int Opc = getDecodedCastOpcode(Record[OpNum + 1]); in parseFunctionBody()
4127 InBounds = Record[OpNum++]; in parseFunctionBody()
4128 Ty = getTypeByID(Record[OpNum++]); in parseFunctionBody()
4135 if (getValueTypePair(Record, OpNum, NextValueNo, BasePtr)) in parseFunctionBody()
4148 while (OpNum != Record.size()) { in parseFunctionBody()
4150 if (getValueTypePair(Record, OpNum, NextValueNo, Op)) in parseFunctionBody()
4167 if (getValueTypePair(Record, OpNum, NextValueNo, Agg)) in parseFunctionBody()
4171 unsigned RecSize = Record.size(); in parseFunctionBody()
4179 uint64_t Index = Record[OpNum]; in parseFunctionBody()
4206 if (getValueTypePair(Record, OpNum, NextValueNo, Agg)) in parseFunctionBody()
4209 if (getValueTypePair(Record, OpNum, NextValueNo, Val)) in parseFunctionBody()
4212 unsigned RecSize = Record.size(); in parseFunctionBody()
4221 uint64_t Index = Record[OpNum]; in parseFunctionBody()
4252 if (getValueTypePair(Record, OpNum, NextValueNo, TrueVal) || in parseFunctionBody()
4253 popValue(Record, OpNum, NextValueNo, TrueVal->getType(), FalseVal) || in parseFunctionBody()
4254 popValue(Record, OpNum, NextValueNo, Type::getInt1Ty(Context), Cond)) in parseFunctionBody()
4267 if (getValueTypePair(Record, OpNum, NextValueNo, TrueVal) || in parseFunctionBody()
4268 popValue(Record, OpNum, NextValueNo, TrueVal->getType(), FalseVal) || in parseFunctionBody()
4269 getValueTypePair(Record, OpNum, NextValueNo, Cond)) in parseFunctionBody()
4286 if (OpNum < Record.size() && isa<FPMathOperator>(I)) { in parseFunctionBody()
4287 FastMathFlags FMF = getDecodedFastMathFlags(Record[OpNum]); in parseFunctionBody()
4297 if (getValueTypePair(Record, OpNum, NextValueNo, Vec) || in parseFunctionBody()
4298 getValueTypePair(Record, OpNum, NextValueNo, Idx)) in parseFunctionBody()
4310 if (getValueTypePair(Record, OpNum, NextValueNo, Vec)) in parseFunctionBody()
4314 if (popValue(Record, OpNum, NextValueNo, in parseFunctionBody()
4316 getValueTypePair(Record, OpNum, NextValueNo, Idx)) in parseFunctionBody()
4326 if (getValueTypePair(Record, OpNum, NextValueNo, Vec1) || in parseFunctionBody()
4327 popValue(Record, OpNum, NextValueNo, Vec1->getType(), Vec2)) in parseFunctionBody()
4330 if (getValueTypePair(Record, OpNum, NextValueNo, Mask)) in parseFunctionBody()
4349 if (getValueTypePair(Record, OpNum, NextValueNo, LHS) || in parseFunctionBody()
4350 popValue(Record, OpNum, NextValueNo, LHS->getType(), RHS)) in parseFunctionBody()
4353 if (OpNum >= Record.size()) in parseFunctionBody()
4357 unsigned PredVal = Record[OpNum]; in parseFunctionBody()
4360 if (IsFP && Record.size() > OpNum+1) in parseFunctionBody()
4361 FMF = getDecodedFastMathFlags(Record[++OpNum]); in parseFunctionBody()
4363 if (OpNum+1 != Record.size()) in parseFunctionBody()
4379 unsigned Size = Record.size(); in parseFunctionBody()
4388 if (getValueTypePair(Record, OpNum, NextValueNo, Op)) in parseFunctionBody()
4390 if (OpNum != Record.size()) in parseFunctionBody()
4398 if (Record.size() != 1 && Record.size() != 3) in parseFunctionBody()
4400 BasicBlock *TrueDest = getBasicBlock(Record[0]); in parseFunctionBody()
4404 if (Record.size() == 1) { in parseFunctionBody()
4409 BasicBlock *FalseDest = getBasicBlock(Record[1]); in parseFunctionBody()
4410 Value *Cond = getValue(Record, 2, NextValueNo, in parseFunctionBody()
4420 if (Record.size() != 1 && Record.size() != 2) in parseFunctionBody()
4424 getValue(Record, Idx++, NextValueNo, Type::getTokenTy(Context)); in parseFunctionBody()
4428 if (Record.size() == 2) { in parseFunctionBody()
4429 UnwindDest = getBasicBlock(Record[Idx++]); in parseFunctionBody()
4439 if (Record.size() != 2) in parseFunctionBody()
4443 getValue(Record, Idx++, NextValueNo, Type::getTokenTy(Context)); in parseFunctionBody()
4446 BasicBlock *BB = getBasicBlock(Record[Idx++]); in parseFunctionBody()
4456 if (Record.size() < 2) in parseFunctionBody()
4462 getValue(Record, Idx++, NextValueNo, Type::getTokenTy(Context)); in parseFunctionBody()
4464 unsigned NumHandlers = Record[Idx++]; in parseFunctionBody()
4468 BasicBlock *BB = getBasicBlock(Record[Idx++]); in parseFunctionBody()
4475 if (Idx + 1 == Record.size()) { in parseFunctionBody()
4476 UnwindDest = getBasicBlock(Record[Idx++]); in parseFunctionBody()
4481 if (Record.size() != Idx) in parseFunctionBody()
4495 if (Record.size() < 2) in parseFunctionBody()
4501 getValue(Record, Idx++, NextValueNo, Type::getTokenTy(Context)); in parseFunctionBody()
4503 unsigned NumArgOperands = Record[Idx++]; in parseFunctionBody()
4508 if (getValueTypePair(Record, Idx, NextValueNo, Val)) in parseFunctionBody()
4513 if (Record.size() != Idx) in parseFunctionBody()
4525 if ((Record[0] >> 16) == SWITCH_INST_MAGIC) { in parseFunctionBody()
4531 Type *OpTy = getTypeByID(Record[1]); in parseFunctionBody()
4534 Value *Cond = getValue(Record, 2, NextValueNo, OpTy); in parseFunctionBody()
4535 BasicBlock *Default = getBasicBlock(Record[3]); in parseFunctionBody()
4539 unsigned NumCases = Record[4]; in parseFunctionBody()
4547 unsigned NumItems = Record[CurIdx++]; in parseFunctionBody()
4549 bool isSingleNumber = Record[CurIdx++]; in parseFunctionBody()
4554 ActiveWords = Record[CurIdx++]; in parseFunctionBody()
4555 Low = readWideAPInt(makeArrayRef(&Record[CurIdx], ActiveWords), in parseFunctionBody()
4562 ActiveWords = Record[CurIdx++]; in parseFunctionBody()
4564 makeArrayRef(&Record[CurIdx], ActiveWords), ValueBitWidth); in parseFunctionBody()
4576 BasicBlock *DestBB = getBasicBlock(Record[CurIdx++]); in parseFunctionBody()
4587 if (Record.size() < 3 || (Record.size() & 1) == 0) in parseFunctionBody()
4589 Type *OpTy = getTypeByID(Record[0]); in parseFunctionBody()
4590 Value *Cond = getValue(Record, 1, NextValueNo, OpTy); in parseFunctionBody()
4591 BasicBlock *Default = getBasicBlock(Record[2]); in parseFunctionBody()
4594 unsigned NumCases = (Record.size()-3)/2; in parseFunctionBody()
4599 dyn_cast_or_null<ConstantInt>(getFnValueByID(Record[3+i*2], OpTy)); in parseFunctionBody()
4600 BasicBlock *DestBB = getBasicBlock(Record[1+3+i*2]); in parseFunctionBody()
4611 if (Record.size() < 2) in parseFunctionBody()
4613 Type *OpTy = getTypeByID(Record[0]); in parseFunctionBody()
4614 Value *Address = getValue(Record, 1, NextValueNo, OpTy); in parseFunctionBody()
4617 unsigned NumDests = Record.size()-2; in parseFunctionBody()
4621 if (BasicBlock *DestBB = getBasicBlock(Record[2+i])) { in parseFunctionBody()
4634 if (Record.size() < 4) in parseFunctionBody()
4637 AttributeList PAL = getAttributes(Record[OpNum++]); in parseFunctionBody()
4638 unsigned CCInfo = Record[OpNum++]; in parseFunctionBody()
4639 BasicBlock *NormalBB = getBasicBlock(Record[OpNum++]); in parseFunctionBody()
4640 BasicBlock *UnwindBB = getBasicBlock(Record[OpNum++]); in parseFunctionBody()
4644 FTy = dyn_cast<FunctionType>(getTypeByID(Record[OpNum++])); in parseFunctionBody()
4650 if (getValueTypePair(Record, OpNum, NextValueNo, Callee)) in parseFunctionBody()
4664 if (Record.size() < FTy->getNumParams() + OpNum) in parseFunctionBody()
4670 Ops.push_back(getValue(Record, OpNum, NextValueNo, in parseFunctionBody()
4678 if (Record.size() != OpNum) in parseFunctionBody()
4682 while (OpNum != Record.size()) { in parseFunctionBody()
4684 if (getValueTypePair(Record, OpNum, NextValueNo, Op)) in parseFunctionBody()
4705 if (getValueTypePair(Record, Idx, NextValueNo, Val)) in parseFunctionBody()
4714 AttributeList PAL = getAttributes(Record[OpNum++]); in parseFunctionBody()
4715 unsigned CCInfo = Record[OpNum++]; in parseFunctionBody()
4717 BasicBlock *DefaultDest = getBasicBlock(Record[OpNum++]); in parseFunctionBody()
4718 unsigned NumIndirectDests = Record[OpNum++]; in parseFunctionBody()
4721 IndirectDests.push_back(getBasicBlock(Record[OpNum++])); in parseFunctionBody()
4725 FTy = dyn_cast<FunctionType>(getTypeByID(Record[OpNum++])); in parseFunctionBody()
4731 if (getValueTypePair(Record, OpNum, NextValueNo, Callee)) in parseFunctionBody()
4745 if (Record.size() < FTy->getNumParams() + OpNum) in parseFunctionBody()
4752 Args.push_back(getBasicBlock(Record[OpNum])); in parseFunctionBody()
4754 Args.push_back(getValue(Record, OpNum, NextValueNo, in parseFunctionBody()
4762 if (OpNum != Record.size()) in parseFunctionBody()
4765 while (OpNum != Record.size()) { in parseFunctionBody()
4767 if (getValueTypePair(Record, OpNum, NextValueNo, Op)) in parseFunctionBody()
4787 if (Record.empty()) in parseFunctionBody()
4790 Type *Ty = getTypeByID(Record[0]); in parseFunctionBody()
4797 size_t NumArgs = (Record.size() - 1) / 2; in parseFunctionBody()
4799 if ((Record.size() - 1) % 2 == 1 && !isa<FPMathOperator>(PN)) in parseFunctionBody()
4809 V = getValueSigned(Record, i * 2 + 1, NextValueNo, Ty); in parseFunctionBody()
4811 V = getValue(Record, i * 2 + 1, NextValueNo, Ty); in parseFunctionBody()
4812 BasicBlock *BB = getBasicBlock(Record[i * 2 + 2]); in parseFunctionBody()
4820 if (Record.size() % 2 == 0) { in parseFunctionBody()
4822 FastMathFlags FMF = getDecodedFastMathFlags(Record[Record.size() - 1]); in parseFunctionBody()
4835 if (Record.size() < 3) in parseFunctionBody()
4839 if (Record.size() < 4) in parseFunctionBody()
4842 Type *Ty = getTypeByID(Record[Idx++]); in parseFunctionBody()
4847 if (getValueTypePair(Record, Idx, NextValueNo, PersFn)) in parseFunctionBody()
4856 bool IsCleanup = !!Record[Idx++]; in parseFunctionBody()
4857 unsigned NumClauses = Record[Idx++]; in parseFunctionBody()
4862 LandingPadInst::ClauseType(Record[Idx++]); (void)CT; in parseFunctionBody()
4865 if (getValueTypePair(Record, Idx, NextValueNo, Val)) { in parseFunctionBody()
4885 if (Record.size() != 4) in parseFunctionBody()
4888 const uint64_t Rec = Record[3]; in parseFunctionBody()
4891 Type *Ty = getTypeByID(Record[0]); in parseFunctionBody()
4898 Type *OpTy = getTypeByID(Record[1]); in parseFunctionBody()
4899 Value *Size = getFnValueByID(Record[2], OpTy); in parseFunctionBody()
4928 if (getValueTypePair(Record, OpNum, NextValueNo, Op) || in parseFunctionBody()
4929 (OpNum + 2 != Record.size() && OpNum + 3 != Record.size())) in parseFunctionBody()
4936 if (OpNum + 3 == Record.size()) { in parseFunctionBody()
4937 Ty = getTypeByID(Record[OpNum++]); in parseFunctionBody()
4946 if (Error Err = parseAlignmentValue(Record[OpNum], Align)) in parseFunctionBody()
4953 I = new LoadInst(Ty, Op, "", Record[OpNum + 1], *Align); in parseFunctionBody()
4961 if (getValueTypePair(Record, OpNum, NextValueNo, Op) || in parseFunctionBody()
4962 (OpNum + 4 != Record.size() && OpNum + 5 != Record.size())) in parseFunctionBody()
4969 if (OpNum + 5 == Record.size()) { in parseFunctionBody()
4970 Ty = getTypeByID(Record[OpNum++]); in parseFunctionBody()
4978 AtomicOrdering Ordering = getDecodedOrdering(Record[OpNum + 2]); in parseFunctionBody()
4983 if (Ordering != AtomicOrdering::NotAtomic && Record[OpNum] == 0) in parseFunctionBody()
4985 SyncScope::ID SSID = getDecodedSyncScopeID(Record[OpNum + 3]); in parseFunctionBody()
4988 if (Error Err = parseAlignmentValue(Record[OpNum], Align)) in parseFunctionBody()
4992 I = new LoadInst(Ty, Op, "", Record[OpNum + 1], *Align, Ordering, SSID); in parseFunctionBody()
5000 if (getValueTypePair(Record, OpNum, NextValueNo, Ptr) || in parseFunctionBody()
5002 ? getValueTypePair(Record, OpNum, NextValueNo, Val) in parseFunctionBody()
5003 : popValue(Record, OpNum, NextValueNo, in parseFunctionBody()
5006 OpNum + 2 != Record.size()) in parseFunctionBody()
5012 if (Error Err = parseAlignmentValue(Record[OpNum], Align)) in parseFunctionBody()
5019 I = new StoreInst(Val, Ptr, Record[OpNum + 1], *Align); in parseFunctionBody()
5028 if (getValueTypePair(Record, OpNum, NextValueNo, Ptr) || in parseFunctionBody()
5031 ? getValueTypePair(Record, OpNum, NextValueNo, Val) in parseFunctionBody()
5032 : popValue(Record, OpNum, NextValueNo, in parseFunctionBody()
5035 OpNum + 4 != Record.size()) in parseFunctionBody()
5040 AtomicOrdering Ordering = getDecodedOrdering(Record[OpNum + 2]); in parseFunctionBody()
5045 SyncScope::ID SSID = getDecodedSyncScopeID(Record[OpNum + 3]); in parseFunctionBody()
5046 if (Ordering != AtomicOrdering::NotAtomic && Record[OpNum] == 0) in parseFunctionBody()
5050 if (Error Err = parseAlignmentValue(Record[OpNum], Align)) in parseFunctionBody()
5054 I = new StoreInst(Val, Ptr, Record[OpNum + 1], *Align, Ordering, SSID); in parseFunctionBody()
5061 const size_t NumRecords = Record.size(); in parseFunctionBody()
5064 if (getValueTypePair(Record, OpNum, NextValueNo, Ptr)) in parseFunctionBody()
5071 if (popValue(Record, OpNum, NextValueNo, in parseFunctionBody()
5077 if (popValue(Record, OpNum, NextValueNo, Cmp->getType(), New) || in parseFunctionBody()
5082 getDecodedOrdering(Record[OpNum + 1]); in parseFunctionBody()
5087 const SyncScope::ID SSID = getDecodedSyncScopeID(Record[OpNum + 2]); in parseFunctionBody()
5095 : getDecodedOrdering(Record[OpNum + 3]); in parseFunctionBody()
5106 cast<AtomicCmpXchgInst>(I)->setVolatile(Record[OpNum]); in parseFunctionBody()
5115 cast<AtomicCmpXchgInst>(I)->setWeak(Record[OpNum + 4]); in parseFunctionBody()
5124 const size_t NumRecords = Record.size(); in parseFunctionBody()
5127 if (getValueTypePair(Record, OpNum, NextValueNo, Ptr)) in parseFunctionBody()
5134 if (getValueTypePair(Record, OpNum, NextValueNo, Cmp)) in parseFunctionBody()
5138 if (popValue(Record, OpNum, NextValueNo, Cmp->getType(), Val)) in parseFunctionBody()
5144 const bool IsVol = Record[OpNum]; in parseFunctionBody()
5147 getDecodedOrdering(Record[OpNum + 1]); in parseFunctionBody()
5151 const SyncScope::ID SSID = getDecodedSyncScopeID(Record[OpNum + 2]); in parseFunctionBody()
5157 getDecodedOrdering(Record[OpNum + 3]); in parseFunctionBody()
5161 const bool IsWeak = Record[OpNum + 4]; in parseFunctionBody()
5166 if (Error Err = parseAlignmentValue(Record[OpNum + 5], Alignment)) in parseFunctionBody()
5185 const size_t NumRecords = Record.size(); in parseFunctionBody()
5189 if (getValueTypePair(Record, OpNum, NextValueNo, Ptr)) in parseFunctionBody()
5197 if (popValue(Record, OpNum, NextValueNo, in parseFunctionBody()
5202 if (getValueTypePair(Record, OpNum, NextValueNo, Val)) in parseFunctionBody()
5210 getDecodedRMWOperation(Record[OpNum]); in parseFunctionBody()
5215 const bool IsVol = Record[OpNum + 1]; in parseFunctionBody()
5217 const AtomicOrdering Ordering = getDecodedOrdering(Record[OpNum + 2]); in parseFunctionBody()
5222 const SyncScope::ID SSID = getDecodedSyncScopeID(Record[OpNum + 3]); in parseFunctionBody()
5227 if (Error Err = parseAlignmentValue(Record[OpNum + 4], Alignment)) in parseFunctionBody()
5242 if (2 != Record.size()) in parseFunctionBody()
5244 AtomicOrdering Ordering = getDecodedOrdering(Record[0]); in parseFunctionBody()
5249 SyncScope::ID SSID = getDecodedSyncScopeID(Record[1]); in parseFunctionBody()
5256 if (Record.size() < 3) in parseFunctionBody()
5260 AttributeList PAL = getAttributes(Record[OpNum++]); in parseFunctionBody()
5261 unsigned CCInfo = Record[OpNum++]; in parseFunctionBody()
5265 FMF = getDecodedFastMathFlags(Record[OpNum++]); in parseFunctionBody()
5272 FTy = dyn_cast<FunctionType>(getTypeByID(Record[OpNum++])); in parseFunctionBody()
5278 if (getValueTypePair(Record, OpNum, NextValueNo, Callee)) in parseFunctionBody()
5292 if (Record.size() < FTy->getNumParams() + OpNum) in parseFunctionBody()
5300 Args.push_back(getBasicBlock(Record[OpNum])); in parseFunctionBody()
5302 Args.push_back(getValue(Record, OpNum, NextValueNo, in parseFunctionBody()
5311 if (OpNum != Record.size()) in parseFunctionBody()
5314 while (OpNum != Record.size()) { in parseFunctionBody()
5316 if (getValueTypePair(Record, OpNum, NextValueNo, Op)) in parseFunctionBody()
5347 if (Record.size() < 3) in parseFunctionBody()
5349 Type *OpTy = getTypeByID(Record[0]); in parseFunctionBody()
5350 Value *Op = getValue(Record, 1, NextValueNo, OpTy); in parseFunctionBody()
5351 Type *ResTy = getTypeByID(Record[2]); in parseFunctionBody()
5364 if (Record.empty() || Record[0] >= BundleTags.size()) in parseFunctionBody()
5370 while (OpNum != Record.size()) { in parseFunctionBody()
5372 if (getValueTypePair(Record, OpNum, NextValueNo, Op)) in parseFunctionBody()
5377 OperandBundles.emplace_back(BundleTags[Record[0]], std::move(Inputs)); in parseFunctionBody()
5384 if (getValueTypePair(Record, OpNum, NextValueNo, Op)) in parseFunctionBody()
5386 if (OpNum != Record.size()) in parseFunctionBody()
5713 SmallVector<uint64_t, 64> Record; in parseValueSymbolTable() local
5733 case BitstreamEntry::Record: in parseValueSymbolTable()
5739 Record.clear(); in parseValueSymbolTable()
5740 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseValueSymbolTable()
5747 if (convertToString(Record, 1, ValueName)) in parseValueSymbolTable()
5749 unsigned ValueID = Record[0]; in parseValueSymbolTable()
5761 if (convertToString(Record, 2, ValueName)) in parseValueSymbolTable()
5763 unsigned ValueID = Record[0]; in parseValueSymbolTable()
5775 unsigned ValueID = Record[0]; in parseValueSymbolTable()
5776 GlobalValue::GUID RefGUID = Record[1]; in parseValueSymbolTable()
5794 SmallVector<uint64_t, 64> Record; in parseModule() local
5858 case BitstreamEntry::Record: { in parseModule()
5859 Record.clear(); in parseModule()
5860 Expected<unsigned> MaybeBitCode = Stream.readRecord(Entry.ID, Record); in parseModule()
5867 if (Error Err = parseVersionRecord(Record).takeError()) in parseModule()
5874 if (convertToString(Record, 0, ValueName)) in parseModule()
5881 if (Record.size() != 5) in parseModule()
5882 return error("Invalid hash length " + Twine(Record.size()).str()); in parseModule()
5885 for (auto &Val : Record) { in parseModule()
5893 if (Record.empty()) in parseModule()
5898 VSTOffset = Record[0] - 1; in parseModule()
5909 std::tie(Name, GVRecord) = readNameFromStrtab(Record); in parseModule()
5930 ModuleSummaryIndexBitcodeReader::makeRefList(ArrayRef<uint64_t> Record) { in makeRefList() argument
5932 Ret.reserve(Record.size()); in makeRefList()
5933 for (uint64_t RefValueId : Record) in makeRefList()
5939 ModuleSummaryIndexBitcodeReader::makeCallList(ArrayRef<uint64_t> Record, in makeCallList() argument
5943 Ret.reserve(Record.size()); in makeCallList()
5944 for (unsigned I = 0, E = Record.size(); I != E; ++I) { in makeCallList()
5947 ValueInfo Callee = getValueInfoFromValueId(Record[I]).first; in makeCallList()
5953 Hotness = static_cast<CalleeInfo::HotnessType>(Record[++I]); in makeCallList()
5955 RelBF = Record[++I]; in makeCallList()
5962 parseWholeProgramDevirtResolutionByArg(ArrayRef<uint64_t> Record, size_t &Slot, in parseWholeProgramDevirtResolutionByArg() argument
5964 uint64_t ArgNum = Record[Slot++]; in parseWholeProgramDevirtResolutionByArg()
5966 Wpd.ResByArg[{Record.begin() + Slot, Record.begin() + Slot + ArgNum}]; in parseWholeProgramDevirtResolutionByArg()
5970 static_cast<WholeProgramDevirtResolution::ByArg::Kind>(Record[Slot++]); in parseWholeProgramDevirtResolutionByArg()
5971 B.Info = Record[Slot++]; in parseWholeProgramDevirtResolutionByArg()
5972 B.Byte = Record[Slot++]; in parseWholeProgramDevirtResolutionByArg()
5973 B.Bit = Record[Slot++]; in parseWholeProgramDevirtResolutionByArg()
5976 static void parseWholeProgramDevirtResolution(ArrayRef<uint64_t> Record, in parseWholeProgramDevirtResolution() argument
5979 uint64_t Id = Record[Slot++]; in parseWholeProgramDevirtResolution()
5982 Wpd.TheKind = static_cast<WholeProgramDevirtResolution::Kind>(Record[Slot++]); in parseWholeProgramDevirtResolution()
5983 Wpd.SingleImplName = {Strtab.data() + Record[Slot], in parseWholeProgramDevirtResolution()
5984 static_cast<size_t>(Record[Slot + 1])}; in parseWholeProgramDevirtResolution()
5987 uint64_t ResByArgNum = Record[Slot++]; in parseWholeProgramDevirtResolution()
5989 parseWholeProgramDevirtResolutionByArg(Record, Slot, Wpd); in parseWholeProgramDevirtResolution()
5992 static void parseTypeIdSummaryRecord(ArrayRef<uint64_t> Record, in parseTypeIdSummaryRecord() argument
5997 {Strtab.data() + Record[Slot], static_cast<size_t>(Record[Slot + 1])}); in parseTypeIdSummaryRecord()
6000 TypeId.TTRes.TheKind = static_cast<TypeTestResolution::Kind>(Record[Slot++]); in parseTypeIdSummaryRecord()
6001 TypeId.TTRes.SizeM1BitWidth = Record[Slot++]; in parseTypeIdSummaryRecord()
6002 TypeId.TTRes.AlignLog2 = Record[Slot++]; in parseTypeIdSummaryRecord()
6003 TypeId.TTRes.SizeM1 = Record[Slot++]; in parseTypeIdSummaryRecord()
6004 TypeId.TTRes.BitMask = Record[Slot++]; in parseTypeIdSummaryRecord()
6005 TypeId.TTRes.InlineBits = Record[Slot++]; in parseTypeIdSummaryRecord()
6007 while (Slot < Record.size()) in parseTypeIdSummaryRecord()
6008 parseWholeProgramDevirtResolution(Record, Strtab, Slot, TypeId); in parseTypeIdSummaryRecord()
6012 ModuleSummaryIndexBitcodeReader::parseParamAccesses(ArrayRef<uint64_t> Record) { in parseParamAccesses() argument
6015 BitcodeReader::decodeSignRotatedValue(Record.front())); in parseParamAccesses()
6016 Record = Record.drop_front(); in parseParamAccesses()
6018 BitcodeReader::decodeSignRotatedValue(Record.front())); in parseParamAccesses()
6019 Record = Record.drop_front(); in parseParamAccesses()
6027 while (!Record.empty()) { in parseParamAccesses()
6030 ParamAccess.ParamNo = Record.front(); in parseParamAccesses()
6031 Record = Record.drop_front(); in parseParamAccesses()
6033 ParamAccess.Calls.resize(Record.front()); in parseParamAccesses()
6034 Record = Record.drop_front(); in parseParamAccesses()
6036 Call.ParamNo = Record.front(); in parseParamAccesses()
6037 Record = Record.drop_front(); in parseParamAccesses()
6038 Call.Callee = getValueInfoFromValueId(Record.front()).first; in parseParamAccesses()
6039 Record = Record.drop_front(); in parseParamAccesses()
6047 ArrayRef<uint64_t> Record, size_t &Slot, in parseTypeIdCompatibleVtableInfo() argument
6049 uint64_t Offset = Record[Slot++]; in parseTypeIdCompatibleVtableInfo()
6050 ValueInfo Callee = getValueInfoFromValueId(Record[Slot++]).first; in parseTypeIdCompatibleVtableInfo()
6055 ArrayRef<uint64_t> Record) { in parseTypeIdCompatibleVtableSummaryRecord() argument
6059 {Strtab.data() + Record[Slot], in parseTypeIdCompatibleVtableSummaryRecord()
6060 static_cast<size_t>(Record[Slot + 1])}); in parseTypeIdCompatibleVtableSummaryRecord()
6063 while (Slot < Record.size()) in parseTypeIdCompatibleVtableSummaryRecord()
6064 parseTypeIdCompatibleVtableInfo(Record, Slot, TypeId); in parseTypeIdCompatibleVtableSummaryRecord()
6084 SmallVector<uint64_t, 64> Record; in parseEntireSummary() local
6093 if (Entry.Kind != BitstreamEntry::Record) in parseEntireSummary()
6095 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseEntireSummary()
6101 const uint64_t Version = Record[0]; in parseEntireSummary()
6108 Record.clear(); in parseEntireSummary()
6137 case BitstreamEntry::Record: in parseEntireSummary()
6149 Record.clear(); in parseEntireSummary()
6150 Expected<unsigned> MaybeBitCode = Stream.readRecord(Entry.ID, Record); in parseEntireSummary()
6157 TheIndex.setFlags(Record[0]); in parseEntireSummary()
6161 uint64_t ValueID = Record[0]; in parseEntireSummary()
6162 GlobalValue::GUID RefGUID = Record[1]; in parseEntireSummary()
6178 unsigned ValueID = Record[0]; in parseEntireSummary()
6179 uint64_t RawFlags = Record[1]; in parseEntireSummary()
6180 unsigned InstCount = Record[2]; in parseEntireSummary()
6182 unsigned NumRefs = Record[3]; in parseEntireSummary()
6186 RawFunFlags = Record[3]; in parseEntireSummary()
6187 NumRefs = Record[4]; in parseEntireSummary()
6190 NumRORefs = Record[5]; in parseEntireSummary()
6193 NumWORefs = Record[6]; in parseEntireSummary()
6206 assert(Record.size() >= RefListStartIndex + NumRefs && in parseEntireSummary()
6209 ArrayRef<uint64_t>(Record).slice(RefListStartIndex, NumRefs)); in parseEntireSummary()
6213 ArrayRef<uint64_t>(Record).slice(CallGraphEdgeStartIndex), in parseEntireSummary()
6234 unsigned ValueID = Record[0]; in parseEntireSummary()
6235 uint64_t RawFlags = Record[1]; in parseEntireSummary()
6236 unsigned AliaseeID = Record[2]; in parseEntireSummary()
6259 unsigned ValueID = Record[0]; in parseEntireSummary()
6260 uint64_t RawFlags = Record[1]; in parseEntireSummary()
6268 GVF = getDecodedGVarFlags(Record[2]); in parseEntireSummary()
6272 makeRefList(ArrayRef<uint64_t>(Record).slice(RefArrayStart)); in parseEntireSummary()
6285 unsigned ValueID = Record[0]; in parseEntireSummary()
6286 uint64_t RawFlags = Record[1]; in parseEntireSummary()
6287 GlobalVarSummary::GVarFlags GVF = getDecodedGVarFlags(Record[2]); in parseEntireSummary()
6288 unsigned NumRefs = Record[3]; in parseEntireSummary()
6293 ArrayRef<uint64_t>(Record).slice(RefListStartIndex, NumRefs)); in parseEntireSummary()
6295 for (unsigned I = VTableListStartIndex, E = Record.size(); I != E; ++I) { in parseEntireSummary()
6296 ValueInfo Callee = getValueInfoFromValueId(Record[I]).first; in parseEntireSummary()
6297 uint64_t Offset = Record[++I]; in parseEntireSummary()
6315 unsigned ValueID = Record[0]; in parseEntireSummary()
6316 uint64_t ModuleId = Record[1]; in parseEntireSummary()
6317 uint64_t RawFlags = Record[2]; in parseEntireSummary()
6318 unsigned InstCount = Record[3]; in parseEntireSummary()
6321 unsigned NumRefs = Record[4]; in parseEntireSummary()
6326 RawFunFlags = Record[4]; in parseEntireSummary()
6334 EntryCount = Record[5]; in parseEntireSummary()
6338 NumWORefs = Record[8]; in parseEntireSummary()
6342 NumRORefs = Record[RefListStartIndex - NumRORefsOffset]; in parseEntireSummary()
6344 NumRefs = Record[NumRefsIndex]; in parseEntireSummary()
6349 assert(Record.size() >= RefListStartIndex + NumRefs && in parseEntireSummary()
6352 ArrayRef<uint64_t>(Record).slice(RefListStartIndex, NumRefs)); in parseEntireSummary()
6355 ArrayRef<uint64_t>(Record).slice(CallGraphEdgeStartIndex), in parseEntireSummary()
6377 unsigned ValueID = Record[0]; in parseEntireSummary()
6378 uint64_t ModuleId = Record[1]; in parseEntireSummary()
6379 uint64_t RawFlags = Record[2]; in parseEntireSummary()
6380 unsigned AliaseeValueId = Record[3]; in parseEntireSummary()
6397 unsigned ValueID = Record[0]; in parseEntireSummary()
6398 uint64_t ModuleId = Record[1]; in parseEntireSummary()
6399 uint64_t RawFlags = Record[2]; in parseEntireSummary()
6407 GVF = getDecodedGVarFlags(Record[3]); in parseEntireSummary()
6411 makeRefList(ArrayRef<uint64_t>(Record).slice(RefArrayStart)); in parseEntireSummary()
6423 uint64_t OriginalName = Record[0]; in parseEntireSummary()
6435 llvm::append_range(PendingTypeTests, Record); in parseEntireSummary()
6440 for (unsigned I = 0; I != Record.size(); I += 2) in parseEntireSummary()
6441 PendingTypeTestAssumeVCalls.push_back({Record[I], Record[I+1]}); in parseEntireSummary()
6446 for (unsigned I = 0; I != Record.size(); I += 2) in parseEntireSummary()
6447 PendingTypeCheckedLoadVCalls.push_back({Record[I], Record[I+1]}); in parseEntireSummary()
6452 {{Record[0], Record[1]}, {Record.begin() + 2, Record.end()}}); in parseEntireSummary()
6457 {{Record[0], Record[1]}, {Record.begin() + 2, Record.end()}}); in parseEntireSummary()
6462 for (unsigned I = 0; I != Record.size(); I += 2) in parseEntireSummary()
6464 {Strtab.data() + Record[I], static_cast<size_t>(Record[I + 1])}); in parseEntireSummary()
6470 for (unsigned I = 0; I != Record.size(); I += 2) in parseEntireSummary()
6472 {Strtab.data() + Record[I], static_cast<size_t>(Record[I + 1])}); in parseEntireSummary()
6477 parseTypeIdSummaryRecord(Record, Strtab, TheIndex); in parseEntireSummary()
6481 parseTypeIdCompatibleVtableSummaryRecord(Record); in parseEntireSummary()
6485 TheIndex.addBlockCount(Record[0]); in parseEntireSummary()
6489 PendingParamAccesses = parseParamAccesses(Record); in parseEntireSummary()
6503 SmallVector<uint64_t, 64> Record; in parseModuleStringTable() local
6520 case BitstreamEntry::Record: in parseModuleStringTable()
6525 Record.clear(); in parseModuleStringTable()
6526 Expected<unsigned> MaybeRecord = Stream.readRecord(Entry.ID, Record); in parseModuleStringTable()
6534 uint64_t ModuleId = Record[0]; in parseModuleStringTable()
6536 if (convertToString(Record, 1, ModulePath)) in parseModuleStringTable()
6547 if (Record.size() != 5) in parseModuleStringTable()
6548 return error("Invalid hash length " + Twine(Record.size()).str()); in parseModuleStringTable()
6552 for (auto &Val : Record) { in parseModuleStringTable()
6617 case BitstreamEntry::Record: in readBlobInRecord()
6619 SmallVector<uint64_t, 1> Record; in readBlobInRecord() local
6621 Stream.readRecord(Entry.ID, Record, &Blob); in readBlobInRecord()
6744 case BitstreamEntry::Record: in getBitcodeFileContents()
6847 SmallVector<uint64_t, 64> Record; in getEnableSplitLTOUnitFlag() local
6863 case BitstreamEntry::Record: in getEnableSplitLTOUnitFlag()
6869 Record.clear(); in getEnableSplitLTOUnitFlag()
6870 Expected<unsigned> MaybeBitCode = Stream.readRecord(Entry.ID, Record); in getEnableSplitLTOUnitFlag()
6877 uint64_t Flags = Record[0]; in getEnableSplitLTOUnitFlag()
6934 case BitstreamEntry::Record: in getLTOInfo()