reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/include/clang/Serialization/ASTWriter.h
  810     uint64_t Offset = Writer->Stream.GetCurrentBitNo();
  812     Writer->Stream.EmitRecord(Code, *Record, Abbrev);
  820     PrepareToEmit(Writer->Stream.GetCurrentBitNo());
  821     Writer->Stream.EmitRecord(Code, *Record, Abbrev);
  822     return Writer->Stream.GetCurrentBitNo();
tools/clang/lib/Serialization/ASTWriter.cpp
  889   TypeExtQualAbbrev = Stream.EmitAbbrev(std::move(Abv));
  912   TypeFunctionProtoAbbrev = Stream.EmitAbbrev(std::move(Abv));
 1077   Stream.EnterBlockInfoBlock();
 1083   BLOCK(CONTROL_BLOCK);
 1084   RECORD(METADATA);
 1085   RECORD(MODULE_NAME);
 1086   RECORD(MODULE_DIRECTORY);
 1087   RECORD(MODULE_MAP_FILE);
 1088   RECORD(IMPORTS);
 1089   RECORD(ORIGINAL_FILE);
 1090   RECORD(ORIGINAL_PCH_DIR);
 1091   RECORD(ORIGINAL_FILE_ID);
 1092   RECORD(INPUT_FILE_OFFSETS);
 1094   BLOCK(OPTIONS_BLOCK);
 1095   RECORD(LANGUAGE_OPTIONS);
 1096   RECORD(TARGET_OPTIONS);
 1097   RECORD(FILE_SYSTEM_OPTIONS);
 1098   RECORD(HEADER_SEARCH_OPTIONS);
 1099   RECORD(PREPROCESSOR_OPTIONS);
 1101   BLOCK(INPUT_FILES_BLOCK);
 1102   RECORD(INPUT_FILE);
 1103   RECORD(INPUT_FILE_HASH);
 1106   BLOCK(AST_BLOCK);
 1107   RECORD(TYPE_OFFSET);
 1108   RECORD(DECL_OFFSET);
 1109   RECORD(IDENTIFIER_OFFSET);
 1110   RECORD(IDENTIFIER_TABLE);
 1111   RECORD(EAGERLY_DESERIALIZED_DECLS);
 1112   RECORD(MODULAR_CODEGEN_DECLS);
 1113   RECORD(SPECIAL_TYPES);
 1114   RECORD(STATISTICS);
 1115   RECORD(TENTATIVE_DEFINITIONS);
 1116   RECORD(SELECTOR_OFFSETS);
 1117   RECORD(METHOD_POOL);
 1118   RECORD(PP_COUNTER_VALUE);
 1119   RECORD(SOURCE_LOCATION_OFFSETS);
 1120   RECORD(SOURCE_LOCATION_PRELOADS);
 1121   RECORD(EXT_VECTOR_DECLS);
 1122   RECORD(UNUSED_FILESCOPED_DECLS);
 1123   RECORD(PPD_ENTITIES_OFFSETS);
 1124   RECORD(VTABLE_USES);
 1125   RECORD(PPD_SKIPPED_RANGES);
 1126   RECORD(REFERENCED_SELECTOR_POOL);
 1127   RECORD(TU_UPDATE_LEXICAL);
 1128   RECORD(SEMA_DECL_REFS);
 1129   RECORD(WEAK_UNDECLARED_IDENTIFIERS);
 1130   RECORD(PENDING_IMPLICIT_INSTANTIATIONS);
 1131   RECORD(UPDATE_VISIBLE);
 1132   RECORD(DECL_UPDATE_OFFSETS);
 1133   RECORD(DECL_UPDATES);
 1134   RECORD(CUDA_SPECIAL_DECL_REFS);
 1135   RECORD(HEADER_SEARCH_TABLE);
 1136   RECORD(FP_PRAGMA_OPTIONS);
 1137   RECORD(OPENCL_EXTENSIONS);
 1138   RECORD(OPENCL_EXTENSION_TYPES);
 1139   RECORD(OPENCL_EXTENSION_DECLS);
 1140   RECORD(DELEGATING_CTORS);
 1141   RECORD(KNOWN_NAMESPACES);
 1142   RECORD(MODULE_OFFSET_MAP);
 1143   RECORD(SOURCE_MANAGER_LINE_TABLE);
 1144   RECORD(OBJC_CATEGORIES_MAP);
 1145   RECORD(FILE_SORTED_DECLS);
 1146   RECORD(IMPORTED_MODULES);
 1147   RECORD(OBJC_CATEGORIES);
 1148   RECORD(MACRO_OFFSET);
 1149   RECORD(INTERESTING_IDENTIFIERS);
 1150   RECORD(UNDEFINED_BUT_USED);
 1151   RECORD(LATE_PARSED_TEMPLATE);
 1152   RECORD(OPTIMIZE_PRAGMA_OPTIONS);
 1153   RECORD(MSSTRUCT_PRAGMA_OPTIONS);
 1154   RECORD(POINTERS_TO_MEMBERS_PRAGMA_OPTIONS);
 1155   RECORD(UNUSED_LOCAL_TYPEDEF_NAME_CANDIDATES);
 1156   RECORD(DELETE_EXPRS_TO_ANALYZE);
 1157   RECORD(CUDA_PRAGMA_FORCE_HOST_DEVICE_DEPTH);
 1158   RECORD(PP_CONDITIONAL_STACK);
 1161   BLOCK(SOURCE_MANAGER_BLOCK);
 1162   RECORD(SM_SLOC_FILE_ENTRY);
 1163   RECORD(SM_SLOC_BUFFER_ENTRY);
 1164   RECORD(SM_SLOC_BUFFER_BLOB);
 1165   RECORD(SM_SLOC_BUFFER_BLOB_COMPRESSED);
 1166   RECORD(SM_SLOC_EXPANSION_ENTRY);
 1169   BLOCK(PREPROCESSOR_BLOCK);
 1170   RECORD(PP_MACRO_DIRECTIVE_HISTORY);
 1171   RECORD(PP_MACRO_FUNCTION_LIKE);
 1172   RECORD(PP_MACRO_OBJECT_LIKE);
 1173   RECORD(PP_MODULE_MACRO);
 1174   RECORD(PP_TOKEN);
 1177   BLOCK(SUBMODULE_BLOCK);
 1178   RECORD(SUBMODULE_METADATA);
 1179   RECORD(SUBMODULE_DEFINITION);
 1180   RECORD(SUBMODULE_UMBRELLA_HEADER);
 1181   RECORD(SUBMODULE_HEADER);
 1182   RECORD(SUBMODULE_TOPHEADER);
 1183   RECORD(SUBMODULE_UMBRELLA_DIR);
 1184   RECORD(SUBMODULE_IMPORTS);
 1185   RECORD(SUBMODULE_EXPORTS);
 1186   RECORD(SUBMODULE_REQUIRES);
 1187   RECORD(SUBMODULE_EXCLUDED_HEADER);
 1188   RECORD(SUBMODULE_LINK_LIBRARY);
 1189   RECORD(SUBMODULE_CONFIG_MACRO);
 1190   RECORD(SUBMODULE_CONFLICT);
 1191   RECORD(SUBMODULE_PRIVATE_HEADER);
 1192   RECORD(SUBMODULE_TEXTUAL_HEADER);
 1193   RECORD(SUBMODULE_PRIVATE_TEXTUAL_HEADER);
 1194   RECORD(SUBMODULE_INITIALIZERS);
 1195   RECORD(SUBMODULE_EXPORT_AS);
 1198   BLOCK(COMMENTS_BLOCK);
 1199   RECORD(COMMENTS_RAW_COMMENT);
 1202   BLOCK(DECLTYPES_BLOCK);
 1203   RECORD(TYPE_EXT_QUAL);
 1204   RECORD(TYPE_COMPLEX);
 1205   RECORD(TYPE_POINTER);
 1206   RECORD(TYPE_BLOCK_POINTER);
 1207   RECORD(TYPE_LVALUE_REFERENCE);
 1208   RECORD(TYPE_RVALUE_REFERENCE);
 1209   RECORD(TYPE_MEMBER_POINTER);
 1210   RECORD(TYPE_CONSTANT_ARRAY);
 1211   RECORD(TYPE_INCOMPLETE_ARRAY);
 1212   RECORD(TYPE_VARIABLE_ARRAY);
 1213   RECORD(TYPE_VECTOR);
 1214   RECORD(TYPE_EXT_VECTOR);
 1215   RECORD(TYPE_FUNCTION_NO_PROTO);
 1216   RECORD(TYPE_FUNCTION_PROTO);
 1217   RECORD(TYPE_TYPEDEF);
 1218   RECORD(TYPE_TYPEOF_EXPR);
 1219   RECORD(TYPE_TYPEOF);
 1220   RECORD(TYPE_RECORD);
 1221   RECORD(TYPE_ENUM);
 1222   RECORD(TYPE_OBJC_INTERFACE);
 1223   RECORD(TYPE_OBJC_OBJECT_POINTER);
 1224   RECORD(TYPE_DECLTYPE);
 1225   RECORD(TYPE_ELABORATED);
 1226   RECORD(TYPE_SUBST_TEMPLATE_TYPE_PARM);
 1227   RECORD(TYPE_UNRESOLVED_USING);
 1228   RECORD(TYPE_INJECTED_CLASS_NAME);
 1229   RECORD(TYPE_OBJC_OBJECT);
 1230   RECORD(TYPE_TEMPLATE_TYPE_PARM);
 1231   RECORD(TYPE_TEMPLATE_SPECIALIZATION);
 1232   RECORD(TYPE_DEPENDENT_NAME);
 1233   RECORD(TYPE_DEPENDENT_TEMPLATE_SPECIALIZATION);
 1234   RECORD(TYPE_DEPENDENT_SIZED_ARRAY);
 1235   RECORD(TYPE_PAREN);
 1236   RECORD(TYPE_MACRO_QUALIFIED);
 1237   RECORD(TYPE_PACK_EXPANSION);
 1238   RECORD(TYPE_ATTRIBUTED);
 1239   RECORD(TYPE_SUBST_TEMPLATE_TYPE_PARM_PACK);
 1240   RECORD(TYPE_AUTO);
 1241   RECORD(TYPE_UNARY_TRANSFORM);
 1242   RECORD(TYPE_ATOMIC);
 1243   RECORD(TYPE_DECAYED);
 1244   RECORD(TYPE_ADJUSTED);
 1245   RECORD(TYPE_OBJC_TYPE_PARAM);
 1246   RECORD(LOCAL_REDECLARATIONS);
 1247   RECORD(DECL_TYPEDEF);
 1248   RECORD(DECL_TYPEALIAS);
 1249   RECORD(DECL_ENUM);
 1250   RECORD(DECL_RECORD);
 1251   RECORD(DECL_ENUM_CONSTANT);
 1252   RECORD(DECL_FUNCTION);
 1253   RECORD(DECL_OBJC_METHOD);
 1254   RECORD(DECL_OBJC_INTERFACE);
 1255   RECORD(DECL_OBJC_PROTOCOL);
 1256   RECORD(DECL_OBJC_IVAR);
 1257   RECORD(DECL_OBJC_AT_DEFS_FIELD);
 1258   RECORD(DECL_OBJC_CATEGORY);
 1259   RECORD(DECL_OBJC_CATEGORY_IMPL);
 1260   RECORD(DECL_OBJC_IMPLEMENTATION);
 1261   RECORD(DECL_OBJC_COMPATIBLE_ALIAS);
 1262   RECORD(DECL_OBJC_PROPERTY);
 1263   RECORD(DECL_OBJC_PROPERTY_IMPL);
 1264   RECORD(DECL_FIELD);
 1265   RECORD(DECL_MS_PROPERTY);
 1266   RECORD(DECL_VAR);
 1267   RECORD(DECL_IMPLICIT_PARAM);
 1268   RECORD(DECL_PARM_VAR);
 1269   RECORD(DECL_FILE_SCOPE_ASM);
 1270   RECORD(DECL_BLOCK);
 1271   RECORD(DECL_CONTEXT_LEXICAL);
 1272   RECORD(DECL_CONTEXT_VISIBLE);
 1273   RECORD(DECL_NAMESPACE);
 1274   RECORD(DECL_NAMESPACE_ALIAS);
 1275   RECORD(DECL_USING);
 1276   RECORD(DECL_USING_SHADOW);
 1277   RECORD(DECL_USING_DIRECTIVE);
 1278   RECORD(DECL_UNRESOLVED_USING_VALUE);
 1279   RECORD(DECL_UNRESOLVED_USING_TYPENAME);
 1280   RECORD(DECL_LINKAGE_SPEC);
 1281   RECORD(DECL_CXX_RECORD);
 1282   RECORD(DECL_CXX_METHOD);
 1283   RECORD(DECL_CXX_CONSTRUCTOR);
 1284   RECORD(DECL_CXX_DESTRUCTOR);
 1285   RECORD(DECL_CXX_CONVERSION);
 1286   RECORD(DECL_ACCESS_SPEC);
 1287   RECORD(DECL_FRIEND);
 1288   RECORD(DECL_FRIEND_TEMPLATE);
 1289   RECORD(DECL_CLASS_TEMPLATE);
 1290   RECORD(DECL_CLASS_TEMPLATE_SPECIALIZATION);
 1291   RECORD(DECL_CLASS_TEMPLATE_PARTIAL_SPECIALIZATION);
 1292   RECORD(DECL_VAR_TEMPLATE);
 1293   RECORD(DECL_VAR_TEMPLATE_SPECIALIZATION);
 1294   RECORD(DECL_VAR_TEMPLATE_PARTIAL_SPECIALIZATION);
 1295   RECORD(DECL_FUNCTION_TEMPLATE);
 1296   RECORD(DECL_TEMPLATE_TYPE_PARM);
 1297   RECORD(DECL_NON_TYPE_TEMPLATE_PARM);
 1298   RECORD(DECL_TEMPLATE_TEMPLATE_PARM);
 1299   RECORD(DECL_CONCEPT);
 1300   RECORD(DECL_TYPE_ALIAS_TEMPLATE);
 1301   RECORD(DECL_STATIC_ASSERT);
 1302   RECORD(DECL_CXX_BASE_SPECIFIERS);
 1303   RECORD(DECL_CXX_CTOR_INITIALIZERS);
 1304   RECORD(DECL_INDIRECTFIELD);
 1305   RECORD(DECL_EXPANDED_NON_TYPE_TEMPLATE_PARM_PACK);
 1306   RECORD(DECL_EXPANDED_TEMPLATE_TEMPLATE_PARM_PACK);
 1307   RECORD(DECL_CLASS_SCOPE_FUNCTION_SPECIALIZATION);
 1308   RECORD(DECL_IMPORT);
 1309   RECORD(DECL_OMP_THREADPRIVATE);
 1310   RECORD(DECL_EMPTY);
 1311   RECORD(DECL_OBJC_TYPE_PARAM);
 1312   RECORD(DECL_OMP_CAPTUREDEXPR);
 1313   RECORD(DECL_PRAGMA_COMMENT);
 1314   RECORD(DECL_PRAGMA_DETECT_MISMATCH);
 1315   RECORD(DECL_OMP_DECLARE_REDUCTION);
 1316   RECORD(DECL_OMP_ALLOCATE);
 1319   AddStmtsExprs(Stream, Record);
 1321   BLOCK(PREPROCESSOR_DETAIL_BLOCK);
 1322   RECORD(PPD_MACRO_EXPANSION);
 1323   RECORD(PPD_MACRO_DEFINITION);
 1324   RECORD(PPD_INCLUSION_DIRECTIVE);
 1327   BLOCK(EXTENSION_BLOCK);
 1328   RECORD(EXTENSION_METADATA);
 1330   BLOCK(UNHASHED_CONTROL_BLOCK);
 1331   RECORD(SIGNATURE);
 1332   RECORD(DIAGNOSTIC_OPTIONS);
 1333   RECORD(DIAG_PRAGMA_MAPPINGS);
 1337   Stream.ExitBlock();
 1418   Stream.FlushToWord();
 1419   auto StartOfUnhashedControl = Stream.GetCurrentBitNo() >> 3;
 1423   Stream.EnterSubblock(UNHASHED_CONTROL_BLOCK_ID, 5);
 1431     Stream.EmitRecord(SIGNATURE, Record);
 1450   Stream.EmitRecord(DIAGNOSTIC_OPTIONS, Record);
 1456   Stream.ExitBlock();
 1466   Stream.EnterSubblock(CONTROL_BLOCK_ID, 5);
 1481   unsigned MetadataAbbrevCode = Stream.EmitAbbrev(std::move(MetadataAbbrev));
 1495     Stream.EmitRecordWithBlob(MetadataAbbrevCode, Record,
 1504     unsigned AbbrevCode = Stream.EmitAbbrev(std::move(Abbrev));
 1506     Stream.EmitRecordWithBlob(AbbrevCode, Record, WritingModule->Name);
 1524       unsigned AbbrevCode = Stream.EmitAbbrev(std::move(Abbrev));
 1527       Stream.EmitRecordWithBlob(AbbrevCode, Record, BaseDir);
 1557     Stream.EmitRecord(MODULE_MAP_FILE, Record);
 1584     Stream.EmitRecord(IMPORTS, Record);
 1588   Stream.EnterSubblock(OPTIONS_BLOCK_ID, 4);
 1625   Stream.EmitRecord(LANGUAGE_OPTIONS, Record);
 1642   Stream.EmitRecord(TARGET_OPTIONS, Record);
 1649   Stream.EmitRecord(FILE_SYSTEM_OPTIONS, Record);
 1686   Stream.EmitRecord(HEADER_SEARCH_OPTIONS, Record);
 1714   Stream.EmitRecord(PREPROCESSOR_OPTIONS, Record);
 1717   Stream.ExitBlock();
 1726     unsigned FileAbbrevCode = Stream.EmitAbbrev(std::move(FileAbbrev));
 1736   Stream.EmitRecord(ORIGINAL_FILE_ID, Record);
 1743     unsigned AbbrevCode = Stream.EmitAbbrev(std::move(Abbrev));
 1751     Stream.EmitRecordWithBlob(AbbrevCode, Record, origDir);
 1757   Stream.ExitBlock();
 1779   Stream.EnterSubblock(INPUT_FILES_BLOCK_ID, 4);
 1791   unsigned IFAbbrevCode = Stream.EmitAbbrev(std::move(IFAbbrev));
 1798   unsigned IFHAbbrevCode = Stream.EmitAbbrev(std::move(IFHAbbrev));
 1857     InputFileOffsets.push_back(Stream.GetCurrentBitNo());
 1884       Stream.EmitRecordWithAbbrev(IFHAbbrevCode, Record);
 1888   Stream.ExitBlock();
 1897   unsigned OffsetsAbbrevCode = Stream.EmitAbbrev(std::move(OffsetsAbbrev));
 1902   Stream.EmitRecordWithBlob(OffsetsAbbrevCode, Record, bytes(InputFileOffsets));
 2229   unsigned TableAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2235   Stream.EmitRecordWithBlob(TableAbbrev, Record, TableData);
 2279   Stream.EnterSubblock(SOURCE_MANAGER_BLOCK_ID, 4);
 2282   unsigned SLocFileAbbrv = CreateSLocFileAbbrev(Stream);
 2283   unsigned SLocBufferAbbrv = CreateSLocBufferAbbrev(Stream);
 2284   unsigned SLocBufferBlobAbbrv = CreateSLocBufferBlobAbbrev(Stream, false);
 2286       CreateSLocBufferBlobAbbrev(Stream, true);
 2287   unsigned SLocExpansionAbbrv = CreateSLocExpansionAbbrev(Stream);
 2302     SLocEntryOffsets.push_back(Stream.GetCurrentBitNo());
 2346         Stream.EmitRecordWithAbbrev(SLocFileAbbrv, Record);
 2360         Stream.EmitRecordWithBlob(SLocBufferAbbrv, Record,
 2374         emitBlob(Stream, Blob, SLocBufferBlobCompressedAbbrv,
 2393       Stream.EmitRecordWithAbbrev(SLocExpansionAbbrv, Record);
 2397   Stream.ExitBlock();
 2411   unsigned SLocOffsetsAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2416     Stream.EmitRecordWithBlob(SLocOffsetsAbbrev, Record,
 2421   Stream.EmitRecord(SOURCE_LOCATION_PRELOADS, PreloadSLocs);
 2464     Stream.EmitRecord(SOURCE_MANAGER_LINE_TABLE, Record);
 2502     Stream.EmitRecord(PP_COUNTER_VALUE, Record);
 2524     Stream.EmitRecord(PP_CONDITIONAL_STACK, Record);
 2529   Stream.EnterSubblock(PREPROCESSOR_BLOCK_ID, 3);
 2555     auto StartOffset = Stream.GetCurrentBitNo();
 2589       Stream.EmitRecord(PP_MODULE_MACRO, ModuleMacroRecord);
 2604     Stream.EmitRecord(PP_MACRO_DIRECTIVE_HISTORY, Record);
 2629       MacroOffsets.push_back(Stream.GetCurrentBitNo());
 2634       MacroOffsets[Index] = Stream.GetCurrentBitNo();
 2661     Stream.EmitRecord(Code, Record);
 2671       Stream.EmitRecord(PP_TOKEN, Record);
 2677   Stream.ExitBlock();
 2688   unsigned MacroOffsetAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2692     Stream.EmitRecordWithBlob(MacroOffsetAbbrev, Record, bytes(MacroOffsets));
 2703   Stream.EnterSubblock(PREPROCESSOR_DETAIL_BLOCK_ID, 3);
 2719     InclusionAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2734         PPEntityOffset((*E)->getSourceRange(), Stream.GetCurrentBitNo()));
 2741       Stream.EmitRecord(PPD_MACRO_DEFINITION, Record);
 2751       Stream.EmitRecord(PPD_MACRO_EXPANSION, Record);
 2767       Stream.EmitRecordWithBlob(InclusionAbbrev, Record, Buffer);
 2773   Stream.ExitBlock();
 2786     unsigned PPEOffsetAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2791     Stream.EmitRecordWithBlob(PPEOffsetAbbrev, Record,
 2807     unsigned PPESkippedRangeAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2811     Stream.EmitRecordWithBlob(PPESkippedRangeAbbrev, Record,
 2856   Stream.EnterSubblock(SUBMODULE_BLOCK_ID, /*bits for abbreviations*/5);
 2876   unsigned DefinitionAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2881   unsigned UmbrellaAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2886   unsigned HeaderAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2891   unsigned TopHeaderAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2896   unsigned UmbrellaDirAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2902   unsigned RequiresAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2907   unsigned ExcludedHeaderAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2912   unsigned TextualHeaderAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2917   unsigned PrivateHeaderAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2922   unsigned PrivateTextualHeaderAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2928   unsigned LinkLibraryAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2933   unsigned ConfigMacroAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2939   unsigned ConflictAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2944   unsigned ExportAsAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 2950   Stream.EmitRecord(SUBMODULE_METADATA, Record);
 2981       Stream.EmitRecordWithBlob(DefinitionAbbrev, Record, Mod->Name);
 2987       Stream.EmitRecordWithBlob(RequiresAbbrev, Record, R.first);
 2993       Stream.EmitRecordWithBlob(UmbrellaAbbrev, Record,
 2997       Stream.EmitRecordWithBlob(UmbrellaDirAbbrev, Record,
 3017         Stream.EmitRecordWithBlob(HL.Abbrev, Record, H.NameAsWritten);
 3025         Stream.EmitRecordWithBlob(TopHeaderAbbrev, Record, H->getName());
 3033       Stream.EmitRecord(SUBMODULE_IMPORTS, Record);
 3045       Stream.EmitRecord(SUBMODULE_EXPORTS, Record);
 3056       Stream.EmitRecordWithBlob(LinkLibraryAbbrev, Record, LL.Library);
 3065       Stream.EmitRecordWithBlob(ConflictAbbrev, Record, C.Message);
 3071       Stream.EmitRecordWithBlob(ConfigMacroAbbrev, Record, CM);
 3079       Stream.EmitRecord(SUBMODULE_INITIALIZERS, Inits);
 3084       Stream.EmitRecordWithBlob(ExportAsAbbrev, Record, Mod->ExportAsModule);
 3092   Stream.ExitBlock();
 3185   Stream.EmitRecord(DIAG_PRAGMA_MAPPINGS, Record);
 3234   uint64_t Offset = Stream.GetCurrentBitNo();
 3243   Stream.EmitRecordWithBlob(DeclContextLexicalAbbrev, Record,
 3257   unsigned TypeOffsetAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 3261     Stream.EmitRecordWithBlob(TypeOffsetAbbrev, Record, bytes(TypeOffsets));
 3270   unsigned DeclOffsetAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 3274     Stream.EmitRecordWithBlob(DeclOffsetAbbrev, Record, bytes(DeclOffsets));
 3298   unsigned AbbrevCode = Stream.EmitAbbrev(std::move(Abbrev));
 3301   Stream.EmitRecordWithBlob(AbbrevCode, Record, bytes(FileGroupedDeclIDs));
 3305   Stream.EnterSubblock(COMMENTS_BLOCK_ID, 3);
 3306   auto _ = llvm::make_scope_exit([this] { Stream.ExitBlock(); });
 3318       Stream.EmitRecord(COMMENTS_RAW_COMMENT, Record);
 3515     unsigned MethodPoolAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 3521       Stream.EmitRecordWithBlob(MethodPoolAbbrev, Record, MethodPool);
 3530     unsigned SelectorOffsetAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 3537       Stream.EmitRecordWithBlob(SelectorOffsetAbbrev, Record,
 3829     unsigned IDTableAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 3833     Stream.EmitRecordWithBlob(IDTableAbbrev, Record, IdentifierTable);
 3842   unsigned IdentifierOffsetAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 3852   Stream.EmitRecordWithBlob(IdentifierOffsetAbbrev, Record,
 3858     Stream.EmitRecord(INTERESTING_IDENTIFIERS, InterestingIdents);
 4265   uint64_t Offset = Stream.GetCurrentBitNo();
 4276   Stream.EmitRecordWithBlob(DeclContextVisibleLookupAbbrev, Record,
 4304   Stream.EmitRecordWithBlob(UpdateVisibleAbbrev, Record, LookupTable);
 4310   Stream.EmitRecord(FP_PRAGMA_OPTIONS, Record);
 4328   Stream.EmitRecord(OPENCL_EXTENSIONS, Record);
 4361   Stream.EmitRecord(OPENCL_EXTENSION_TYPES, Record);
 4393   Stream.EmitRecord(OPENCL_EXTENSION_DECLS, Record);
 4399     Stream.EmitRecord(CUDA_PRAGMA_FORCE_HOST_DEVICE_DEPTH, Record);
 4444   unsigned AbbrevID = Stream.EmitAbbrev(std::move(Abbrev));
 4447   Stream.EmitRecordWithBlob(AbbrevID, Record,
 4452   Stream.EmitRecord(OBJC_CATEGORIES, Categories);
 4473   Stream.EmitRecord(LATE_PARSED_TEMPLATE, Record);
 4481   Stream.EmitRecord(OPTIMIZE_PRAGMA_OPTIONS, Record);
 4488   Stream.EmitRecord(MSSTRUCT_PRAGMA_OPTIONS, Record);
 4497   Stream.EmitRecord(POINTERS_TO_MEMBERS_PRAGMA_OPTIONS, Record);
 4517   Stream.EmitRecord(PACK_PRAGMA_OPTIONS, Record);
 4523   Stream.EnterSubblock(EXTENSION_BLOCK_ID, 4);
 4533   unsigned Abbrev = Stream.EmitAbbrev(std::move(Abv));
 4546   Stream.EmitRecordWithBlob(Abbrev, Record, Buffer);
 4549   Writer.writeExtensionContents(SemaRef, Stream);
 4552   Stream.ExitBlock();
 4629   Stream.EmitRecordWithBlob(Abbrev, Record, FilePath);
 4703   Stream.Emit((unsigned)'C', 8);
 4704   Stream.Emit((unsigned)'P', 8);
 4705   Stream.Emit((unsigned)'C', 8);
 4706   Stream.Emit((unsigned)'H', 8);
 4894   Stream.EnterSubblock(AST_BLOCK_ID, 5);
 4900     Stream.EmitRecord(METADATA_OLD_FORMAT, Record);
 4917   unsigned TuUpdateLexicalAbbrev = Stream.EmitAbbrev(std::move(Abv));
 4920     Stream.EmitRecordWithBlob(TuUpdateLexicalAbbrev, Record,
 4929   UpdateVisibleAbbrev = Stream.EmitAbbrev(std::move(Abv));
 5031     unsigned ModuleOffsetMapAbbrev = Stream.EmitAbbrev(std::move(Abbrev));
 5073     Stream.EmitRecordWithBlob(ModuleOffsetMapAbbrev, Record,
 5081   Stream.EnterSubblock(DECLTYPES_BLOCK_ID, /*bits for abbreviations*/5);
 5095   Stream.ExitBlock();
 5102     Stream.EmitRecord(DECL_UPDATE_OFFSETS, DeclUpdatesOffsetsRecord);
 5125   Stream.EmitRecord(SPECIAL_TYPES, SpecialTypes);
 5129     Stream.EmitRecord(EAGERLY_DESERIALIZED_DECLS, EagerlyDeserializedDecls);
 5132     Stream.EmitRecord(MODULAR_CODEGEN_DECLS, ModularCodegenDecls);
 5136     Stream.EmitRecord(TENTATIVE_DEFINITIONS, TentativeDefinitions);
 5140     Stream.EmitRecord(UNUSED_FILESCOPED_DECLS, UnusedFileScopedDecls);
 5144     Stream.EmitRecord(WEAK_UNDECLARED_IDENTIFIERS,
 5149     Stream.EmitRecord(EXT_VECTOR_DECLS, ExtVectorDecls);
 5153     Stream.EmitRecord(VTABLE_USES, VTableUses);
 5157     Stream.EmitRecord(UNUSED_LOCAL_TYPEDEF_NAME_CANDIDATES,
 5162     Stream.EmitRecord(PENDING_IMPLICIT_INSTANTIATIONS, PendingInstantiations);
 5166     Stream.EmitRecord(SEMA_DECL_REFS, SemaDeclRefs);
 5170     Stream.EmitRecord(CUDA_SPECIAL_DECL_REFS, CUDASpecialDeclRefs);
 5174     Stream.EmitRecord(DELEGATING_CTORS, DelegatingCtorDecls);
 5178     Stream.EmitRecord(KNOWN_NAMESPACES, KnownNamespaces);
 5182     Stream.EmitRecord(UNDEFINED_BUT_USED, UndefinedButUsed);
 5185     Stream.EmitRecord(DELETE_EXPRS_TO_ANALYZE, DeleteExprsToAnalyze);
 5227       Stream.EmitRecord(IMPORTED_MODULES, ImportedModules);
 5242   Stream.EmitRecord(STATISTICS, Record);
 5243   Stream.ExitBlock();
tools/clang/lib/Serialization/ASTWriterDecl.cpp
 1880   DeclFieldAbbrev = Stream.EmitAbbrev(std::move(Abv));
 1916   DeclObjCIvarAbbrev = Stream.EmitAbbrev(std::move(Abv));
 1966   DeclEnumAbbrev = Stream.EmitAbbrev(std::move(Abv));
 2028   DeclRecordAbbrev = Stream.EmitAbbrev(std::move(Abv));
 2076   DeclParmVarAbbrev = Stream.EmitAbbrev(std::move(Abv));
 2105   DeclTypedefAbbrev = Stream.EmitAbbrev(std::move(Abv));
 2157   DeclVarAbbrev = Stream.EmitAbbrev(std::move(Abv));
 2220   DeclCXXMethodAbbrev = Stream.EmitAbbrev(std::move(Abv));
 2244   DeclRefExprAbbrev = Stream.EmitAbbrev(std::move(Abv));
 2263   IntegerLiteralAbbrev = Stream.EmitAbbrev(std::move(Abv));
 2282   CharacterLiteralAbbrev = Stream.EmitAbbrev(std::move(Abv));
 2302   ExprImplicitCastAbbrev = Stream.EmitAbbrev(std::move(Abv));
 2307   DeclContextLexicalAbbrev = Stream.EmitAbbrev(std::move(Abv));
 2312   DeclContextVisibleLookupAbbrev = Stream.EmitAbbrev(std::move(Abv));
tools/clang/lib/Serialization/ASTWriterStmt.cpp
 2400     Stream.EmitRecord(serialization::STMT_NULL_PTR, Record);
 2407     Stream.EmitRecord(serialization::STMT_REF_PTR, Record);
 2452     Writer->Stream.EmitRecord(serialization::STMT_STOP, ArrayRef<uint32_t>());