Lines Matching refs:Stream
110 static bool hasValidBitcodeHeader(BitstreamCursor &Stream) { in hasValidBitcodeHeader() argument
112 if (!Stream.canSkipToPos(4) || in hasValidBitcodeHeader()
113 Stream.Read(8) != 'B' || in hasValidBitcodeHeader()
114 Stream.Read(8) != 'C' || in hasValidBitcodeHeader()
115 Stream.Read(4) != 0x0 || in hasValidBitcodeHeader()
116 Stream.Read(4) != 0xC || in hasValidBitcodeHeader()
117 Stream.Read(4) != 0xE || in hasValidBitcodeHeader()
118 Stream.Read(4) != 0xD) in hasValidBitcodeHeader()
136 BitstreamCursor Stream(ArrayRef<uint8_t>(BufPtr, BufEnd)); in initStream() local
137 if (!hasValidBitcodeHeader(Stream)) in initStream()
140 return std::move(Stream); in initStream()
167 static Expected<std::string> readIdentificationBlock(BitstreamCursor &Stream) { in readIdentificationBlock() argument
168 if (Stream.EnterSubBlock(bitc::IDENTIFICATION_BLOCK_ID)) in readIdentificationBlock()
177 BitstreamEntry Entry = Stream.advance(); in readIdentificationBlock()
192 unsigned BitCode = Stream.readRecord(Entry.ID, Record); in readIdentificationBlock()
211 static Expected<std::string> readIdentificationCode(BitstreamCursor &Stream) { in readIdentificationCode() argument
215 if (Stream.AtEndOfStream()) in readIdentificationCode()
218 BitstreamEntry Entry = Stream.advance(); in readIdentificationCode()
226 return readIdentificationBlock(Stream); in readIdentificationCode()
229 if (Stream.SkipBlock()) in readIdentificationCode()
233 Stream.skipRecord(Entry.ID); in readIdentificationCode()
239 static Expected<bool> hasObjCCategoryInModule(BitstreamCursor &Stream) { in hasObjCCategoryInModule() argument
240 if (Stream.EnterSubBlock(bitc::MODULE_BLOCK_ID)) in hasObjCCategoryInModule()
247 BitstreamEntry Entry = Stream.advanceSkippingSubblocks(); in hasObjCCategoryInModule()
261 switch (Stream.readRecord(Entry.ID, Record)) { in hasObjCCategoryInModule()
280 static Expected<bool> hasObjCCategory(BitstreamCursor &Stream) { in hasObjCCategory() argument
284 BitstreamEntry Entry = Stream.advance(); in hasObjCCategory()
294 return hasObjCCategoryInModule(Stream); in hasObjCCategory()
297 if (Stream.SkipBlock()) in hasObjCCategory()
302 Stream.skipRecord(Entry.ID); in hasObjCCategory()
308 static Expected<std::string> readModuleTriple(BitstreamCursor &Stream) { in readModuleTriple() argument
309 if (Stream.EnterSubBlock(bitc::MODULE_BLOCK_ID)) in readModuleTriple()
318 BitstreamEntry Entry = Stream.advanceSkippingSubblocks(); in readModuleTriple()
332 switch (Stream.readRecord(Entry.ID, Record)) { in readModuleTriple()
347 static Expected<std::string> readTriple(BitstreamCursor &Stream) { in readTriple() argument
351 BitstreamEntry Entry = Stream.advance(); in readTriple()
361 return readModuleTriple(Stream); in readTriple()
364 if (Stream.SkipBlock()) in readTriple()
369 Stream.skipRecord(Entry.ID); in readTriple()
379 BitcodeReaderBase(BitstreamCursor Stream, StringRef Strtab) in BitcodeReaderBase() argument
380 : Stream(std::move(Stream)), Strtab(Strtab) { in BitcodeReaderBase()
381 this->Stream.setBlockInfo(&BlockInfo); in BitcodeReaderBase()
385 BitstreamCursor Stream; member in __anond7564fed0311::BitcodeReaderBase
527 BitcodeReader(BitstreamCursor Stream, StringRef Strtab,
731 ModuleSummaryIndexBitcodeReader(BitstreamCursor Stream, StringRef Strtab,
774 BitcodeReader::BitcodeReader(BitstreamCursor Stream, StringRef Strtab, in BitcodeReader() argument
777 : BitcodeReaderBase(std::move(Stream), Strtab), Context(Context), in BitcodeReader()
1248 if (Stream.EnterSubBlock(bitc::PARAMATTR_BLOCK_ID)) in parseAttributeBlock()
1260 BitstreamEntry Entry = Stream.advanceSkippingSubblocks(); in parseAttributeBlock()
1275 switch (Stream.readRecord(Entry.ID, Record)) { in parseAttributeBlock()
1447 if (Stream.EnterSubBlock(bitc::PARAMATTR_GROUP_BLOCK_ID)) in parseAttributeGroupBlock()
1457 BitstreamEntry Entry = Stream.advanceSkippingSubblocks(); in parseAttributeGroupBlock()
1472 switch (Stream.readRecord(Entry.ID, Record)) { in parseAttributeGroupBlock()
1535 if (Stream.EnterSubBlock(bitc::TYPE_BLOCK_ID_NEW)) in parseTypeTable()
1552 BitstreamEntry Entry = Stream.advanceSkippingSubblocks(); in parseTypeTableBody()
1570 switch (Stream.readRecord(Entry.ID, Record)) { in parseTypeTableBody()
1778 if (Stream.EnterSubBlock(bitc::OPERAND_BUNDLE_TAGS_BLOCK_ID)) in parseOperandBundleTags()
1787 BitstreamEntry Entry = Stream.advanceSkippingSubblocks(); in parseOperandBundleTags()
1802 if (Stream.readRecord(Entry.ID, Record) != bitc::OPERAND_BUNDLE_TAG) in parseOperandBundleTags()
1814 if (Stream.EnterSubBlock(bitc::SYNC_SCOPE_NAMES_BLOCK_ID)) in parseSyncScopeNames()
1822 BitstreamEntry Entry = Stream.advanceSkippingSubblocks(); in parseSyncScopeNames()
1839 if (Stream.readRecord(Entry.ID, Record) != bitc::SYNC_SCOPE_NAME) in parseSyncScopeNames()
1881 BitstreamCursor &Stream) { in jumpToValueSymbolTable() argument
1884 uint64_t CurrentBit = Stream.GetCurrentBitNo(); in jumpToValueSymbolTable()
1885 Stream.JumpToBit(Offset * 32); in jumpToValueSymbolTable()
1888 BitstreamEntry Entry = Stream.advance(); in jumpToValueSymbolTable()
1894 Stream.advance(); in jumpToValueSymbolTable()
1918 Stream.getAbbrevIDWidth() + bitc::BlockIDWidth; in parseGlobalValueSymbolTable()
1920 if (Stream.EnterSubBlock(bitc::VALUE_SYMTAB_BLOCK_ID)) in parseGlobalValueSymbolTable()
1925 BitstreamEntry Entry = Stream.advanceSkippingSubblocks(); in parseGlobalValueSymbolTable()
1938 switch (Stream.readRecord(Entry.ID, Record)) { in parseGlobalValueSymbolTable()
1955 CurrentBit = jumpToValueSymbolTable(Offset, Stream); in parseValueSymbolTable()
1960 Stream.JumpToBit(CurrentBit); in parseValueSymbolTable()
1979 Stream.getAbbrevIDWidth() + bitc::BlockIDWidth; in parseValueSymbolTable()
1981 if (Stream.EnterSubBlock(bitc::VALUE_SYMTAB_BLOCK_ID)) in parseValueSymbolTable()
1992 BitstreamEntry Entry = Stream.advanceSkippingSubblocks(); in parseValueSymbolTable()
2000 Stream.JumpToBit(CurrentBit); in parseValueSymbolTable()
2009 switch (Stream.readRecord(Entry.ID, Record)) { in parseValueSymbolTable()
2154 if (Stream.EnterSubBlock(bitc::CONSTANTS_BLOCK_ID)) in parseConstants()
2164 BitstreamEntry Entry = Stream.advanceSkippingSubblocks(); in parseConstants()
2187 unsigned BitCode = Stream.readRecord(Entry.ID, Record); in parseConstants()
2645 if (Stream.EnterSubBlock(bitc::USELIST_BLOCK_ID)) in parseUseLists()
2652 BitstreamEntry Entry = Stream.advanceSkippingSubblocks(); in parseUseLists()
2668 switch (Stream.readRecord(Entry.ID, Record)) { in parseUseLists()
2713 uint64_t CurBit = Stream.GetCurrentBitNo(); in rememberAndSkipMetadata()
2717 if (Stream.SkipBlock()) in rememberAndSkipMetadata()
2725 Stream.JumpToBit(BitPos); in materializeMetadata()
2756 uint64_t CurBit = Stream.GetCurrentBitNo(); in rememberAndSkipFunctionBody()
2763 if (Stream.SkipBlock()) in rememberAndSkipFunctionBody()
2805 Stream.JumpToBit(NextUnreadBit); in rememberAndSkipFunctionBodies()
2807 if (Stream.AtEndOfStream()) in rememberAndSkipFunctionBodies()
2820 BitstreamEntry Entry = Stream.advance(); in rememberAndSkipFunctionBodies()
2831 NextUnreadBit = Stream.GetCurrentBitNo(); in rememberAndSkipFunctionBodies()
2839 Optional<BitstreamBlockInfo> NewBlockInfo = Stream.ReadBlockInfoBlock(); in readBlockInfo()
3146 Stream.JumpToBit(ResumeBit); in parseModule()
3147 else if (Stream.EnterSubBlock(bitc::MODULE_BLOCK_ID)) in parseModule()
3154 BitstreamEntry Entry = Stream.advance(); in parseModule()
3165 if (Stream.SkipBlock()) in parseModule()
3199 if (Stream.SkipBlock()) in parseModule()
3252 if (Stream.SkipBlock()) in parseModule()
3270 NextUnreadBit = Stream.GetCurrentBitNo(); in parseModule()
3297 auto BitCode = Stream.readRecord(Entry.ID, Record); in parseModule()
3392 MDLoader = MetadataLoader(Stream, *M, ValueList, IsImporting, in parseBitcodeInto()
3412 if (Stream.EnterSubBlock(bitc::FUNCTION_BLOCK_ID)) in parseFunctionBody()
3447 BitstreamEntry Entry = Stream.advance(); in parseFunctionBody()
3458 if (Stream.SkipBlock()) in parseFunctionBody()
3495 unsigned BitCode = Stream.readRecord(Entry.ID, Record); in parseFunctionBody()
4772 Stream.JumpToBit(DFII->second); in materialize()
4936 uint64_t CurrentBit = jumpToValueSymbolTable(Offset, Stream); in parseValueSymbolTable()
4938 if (Stream.EnterSubBlock(bitc::VALUE_SYMTAB_BLOCK_ID)) in parseValueSymbolTable()
4947 BitstreamEntry Entry = Stream.advanceSkippingSubblocks(); in parseValueSymbolTable()
4955 Stream.JumpToBit(CurrentBit); in parseValueSymbolTable()
4964 switch (Stream.readRecord(Entry.ID, Record)) { in parseValueSymbolTable()
5012 if (Stream.EnterSubBlock(bitc::MODULE_BLOCK_ID)) in parseModule()
5021 BitstreamEntry Entry = Stream.advance(); in parseModule()
5032 if (Stream.SkipBlock()) in parseModule()
5046 if (Stream.SkipBlock()) in parseModule()
5078 auto BitCode = Stream.readRecord(Entry.ID, Record); in parseModule()
5236 if (Stream.EnterSubBlock(ID)) in parseEntireSummary()
5242 BitstreamEntry Entry = Stream.advanceSkippingSubblocks(); in parseEntireSummary()
5245 if (Stream.readRecord(Entry.ID, Record) != bitc::FS_VERSION) in parseEntireSummary()
5270 BitstreamEntry Entry = Stream.advanceSkippingSubblocks(); in parseEntireSummary()
5291 auto BitCode = Stream.readRecord(Entry.ID, Record); in parseEntireSummary()
5621 if (Stream.EnterSubBlock(bitc::MODULE_STRTAB_BLOCK_ID)) in parseModuleStringTable()
5630 BitstreamEntry Entry = Stream.advanceSkippingSubblocks(); in parseModuleStringTable()
5644 switch (Stream.readRecord(Entry.ID, Record)) { in parseModuleStringTable()
5708 static Expected<StringRef> readBlobInRecord(BitstreamCursor &Stream, in readBlobInRecord() argument
5710 if (Stream.EnterSubBlock(Block)) in readBlobInRecord()
5715 BitstreamEntry Entry = Stream.advance(); in readBlobInRecord()
5724 if (Stream.SkipBlock()) in readBlobInRecord()
5731 if (Stream.readRecord(Entry.ID, Record, &Blob) == RecordID) in readBlobInRecord()
5755 BitstreamCursor &Stream = *StreamOrErr; in getBitcodeFileContents() local
5759 uint64_t BCBegin = Stream.getCurrentByteNo(); in getBitcodeFileContents()
5764 if (BCBegin + 8 >= Stream.getBitcodeBytes().size()) in getBitcodeFileContents()
5767 BitstreamEntry Entry = Stream.advance(); in getBitcodeFileContents()
5776 IdentificationBit = Stream.GetCurrentBitNo() - BCBegin * 8; in getBitcodeFileContents()
5777 if (Stream.SkipBlock()) in getBitcodeFileContents()
5780 Entry = Stream.advance(); in getBitcodeFileContents()
5787 uint64_t ModuleBit = Stream.GetCurrentBitNo() - BCBegin * 8; in getBitcodeFileContents()
5788 if (Stream.SkipBlock()) in getBitcodeFileContents()
5791 F.Mods.push_back({Stream.getBitcodeBytes().slice( in getBitcodeFileContents()
5792 BCBegin, Stream.getCurrentByteNo() - BCBegin), in getBitcodeFileContents()
5800 readBlobInRecord(Stream, bitc::STRTAB_BLOCK_ID, bitc::STRTAB_BLOB); in getBitcodeFileContents()
5822 readBlobInRecord(Stream, bitc::SYMTAB_BLOCK_ID, bitc::SYMTAB_BLOB); in getBitcodeFileContents()
5837 if (Stream.SkipBlock()) in getBitcodeFileContents()
5842 Stream.skipRecord(Entry.ID); in getBitcodeFileContents()
5859 BitstreamCursor Stream(Buffer); in getModuleImpl() local
5863 Stream.JumpToBit(IdentificationBit); in getModuleImpl()
5865 readIdentificationBlock(Stream); in getModuleImpl()
5872 Stream.JumpToBit(ModuleBit); in getModuleImpl()
5873 auto *R = new BitcodeReader(std::move(Stream), Strtab, ProducerIdentification, in getModuleImpl()
5909 BitstreamCursor Stream(Buffer); in readSummary() local
5910 Stream.JumpToBit(ModuleBit); in readSummary()
5912 ModuleSummaryIndexBitcodeReader R(std::move(Stream), Strtab, CombinedIndex, in readSummary()
5919 BitstreamCursor Stream(Buffer); in getSummary() local
5920 Stream.JumpToBit(ModuleBit); in getSummary()
5923 ModuleSummaryIndexBitcodeReader R(std::move(Stream), Strtab, *Index, in getSummary()
5932 static Expected<bool> getEnableSplitLTOUnitFlag(BitstreamCursor &Stream, in getEnableSplitLTOUnitFlag() argument
5934 if (Stream.EnterSubBlock(ID)) in getEnableSplitLTOUnitFlag()
5939 BitstreamEntry Entry = Stream.advanceSkippingSubblocks(); in getEnableSplitLTOUnitFlag()
5956 auto BitCode = Stream.readRecord(Entry.ID, Record); in getEnableSplitLTOUnitFlag()
5974 BitstreamCursor Stream(Buffer); in getLTOInfo() local
5975 Stream.JumpToBit(ModuleBit); in getLTOInfo()
5977 if (Stream.EnterSubBlock(bitc::MODULE_BLOCK_ID)) in getLTOInfo()
5981 BitstreamEntry Entry = Stream.advance(); in getLTOInfo()
5993 getEnableSplitLTOUnitFlag(Stream, Entry.ID); in getLTOInfo()
6002 getEnableSplitLTOUnitFlag(Stream, Entry.ID); in getLTOInfo()
6010 if (Stream.SkipBlock()) in getLTOInfo()
6015 Stream.skipRecord(Entry.ID); in getLTOInfo()