Lines Matching defs:Record

303                             SmallVectorImpl<uint64_t> &Record);
304 void writeMDTuple(const MDTuple *N, SmallVectorImpl<uint64_t> &Record,
307 void writeDILocation(const DILocation *N, SmallVectorImpl<uint64_t> &Record,
311 SmallVectorImpl<uint64_t> &Record, unsigned &Abbrev);
312 void writeDISubrange(const DISubrange *N, SmallVectorImpl<uint64_t> &Record,
315 SmallVectorImpl<uint64_t> &Record,
318 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
319 void writeDIBasicType(const DIBasicType *N, SmallVectorImpl<uint64_t> &Record,
322 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
324 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
326 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
328 SmallVectorImpl<uint64_t> &Record,
330 void writeDIFile(const DIFile *N, SmallVectorImpl<uint64_t> &Record,
333 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
335 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
337 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
339 SmallVectorImpl<uint64_t> &Record,
342 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
343 void writeDINamespace(const DINamespace *N, SmallVectorImpl<uint64_t> &Record,
345 void writeDIMacro(const DIMacro *N, SmallVectorImpl<uint64_t> &Record,
347 void writeDIMacroFile(const DIMacroFile *N, SmallVectorImpl<uint64_t> &Record,
349 void writeDIArgList(const DIArgList *N, SmallVectorImpl<uint64_t> &Record);
350 void writeDIModule(const DIModule *N, SmallVectorImpl<uint64_t> &Record,
352 void writeDIAssignID(const DIAssignID *N, SmallVectorImpl<uint64_t> &Record,
355 SmallVectorImpl<uint64_t> &Record,
358 SmallVectorImpl<uint64_t> &Record,
361 SmallVectorImpl<uint64_t> &Record,
364 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
366 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
368 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
370 SmallVectorImpl<uint64_t> &Record,
373 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
375 SmallVectorImpl<uint64_t> &Record,
378 void writeNamedMetadata(SmallVectorImpl<uint64_t> &Record);
381 SmallVectorImpl<uint64_t> &Record);
383 SmallVectorImpl<uint64_t> &Record,
389 void pushGlobalMetadataAttachment(SmallVectorImpl<uint64_t> &Record,
496 // Record all stack id indices actually used in the summary entries being
918 static void emitConstantRange(SmallVectorImpl<uint64_t> &Record,
922 Record.push_back(BitWidth);
924 Record.push_back(CR.getLower().getActiveWords() |
926 emitWideAPInt(Record, CR.getLower());
927 emitWideAPInt(Record, CR.getUpper());
929 emitSignedInt64(Record, CR.getLower().getSExtValue());
930 emitSignedInt64(Record, CR.getUpper().getSExtValue());
941 SmallVector<uint64_t, 64> Record;
945 Record.push_back(VE.getAttributeGroupID(Pair));
946 Record.push_back(AttrListIndex);
950 Record.push_back(0);
951 Record.push_back(getAttrKindEncoding(Attr.getKindAsEnum()));
953 Record.push_back(1);
954 Record.push_back(getAttrKindEncoding(Attr.getKindAsEnum()));
955 Record.push_back(Attr.getValueAsInt());
960 Record.push_back(Val.empty() ? 3 : 4);
961 Record.append(Kind.begin(), Kind.end());
962 Record.push_back(0);
964 Record.append(Val.begin(), Val.end());
965 Record.push_back(0);
969 Record.push_back(Ty ? 6 : 5);
970 Record.push_back(getAttrKindEncoding(Attr.getKindAsEnum()));
972 Record.push_back(VE.getTypeID(Attr.getValueAsType()));
974 Record.push_back(7);
975 Record.push_back(getAttrKindEncoding(Attr.getKindAsEnum()));
976 emitConstantRange(Record, Attr.getValueAsConstantRange(),
980 Record.push_back(8);
981 Record.push_back(getAttrKindEncoding(Attr.getKindAsEnum()));
983 Record.push_back(Val.size());
984 Record.push_back(Val[0].getBitWidth());
986 emitConstantRange(Record, CR, /*EmitBitWidth=*/false);
990 Stream.EmitRecord(bitc::PARAMATTR_GRP_CODE_ENTRY, Record);
991 Record.clear();
1003 SmallVector<uint64_t, 64> Record;
1008 Record.push_back(VE.getAttributeGroupID({i, AS}));
1011 Stream.EmitRecord(bitc::PARAMATTR_CODE_ENTRY, Record);
1012 Record.clear();
1710 const ValueAsMetadata *MD, SmallVectorImpl<uint64_t> &Record) {
1713 Record.push_back(VE.getTypeID(V->getType()));
1714 Record.push_back(VE.getValueID(V));
1715 Stream.EmitRecord(bitc::METADATA_VALUE, Record, 0);
1716 Record.clear();
1720 SmallVectorImpl<uint64_t> &Record,
1726 Record.push_back(VE.getMetadataOrNullID(MD));
1730 Record, Abbrev);
1731 Record.clear();
1749 SmallVectorImpl<uint64_t> &Record,
1754 Record.push_back(N->isDistinct());
1755 Record.push_back(N->getLine());
1756 Record.push_back(N->getColumn());
1757 Record.push_back(VE.getMetadataID(N->getScope()));
1758 Record.push_back(VE.getMetadataOrNullID(N->getInlinedAt()));
1759 Record.push_back(N->isImplicitCode());
1761 Stream.EmitRecord(bitc::METADATA_LOCATION, Record, Abbrev);
1762 Record.clear();
1780 SmallVectorImpl<uint64_t> &Record,
1785 Record.push_back(N->isDistinct());
1786 Record.push_back(N->getTag());
1787 Record.push_back(0); // Per-tag version field; unused for now.
1790 Record.push_back(VE.getMetadataOrNullID(I));
1792 Stream.EmitRecord(bitc::METADATA_GENERIC_DEBUG, Record, Abbrev);
1793 Record.clear();
1797 SmallVectorImpl<uint64_t> &Record,
1800 Record.push_back((uint64_t)N->isDistinct() | Version);
1801 Record.push_back(VE.getMetadataOrNullID(N->getRawCountNode()));
1802 Record.push_back(VE.getMetadataOrNullID(N->getRawLowerBound()));
1803 Record.push_back(VE.getMetadataOrNullID(N->getRawUpperBound()));
1804 Record.push_back(VE.getMetadataOrNullID(N->getRawStride()));
1806 Stream.EmitRecord(bitc::METADATA_SUBRANGE, Record, Abbrev);
1807 Record.clear();
1811 const DIGenericSubrange *N, SmallVectorImpl<uint64_t> &Record,
1813 Record.push_back((uint64_t)N->isDistinct());
1814 Record.push_back(VE.getMetadataOrNullID(N->getRawCountNode()));
1815 Record.push_back(VE.getMetadataOrNullID(N->getRawLowerBound()));
1816 Record.push_back(VE.getMetadataOrNullID(N->getRawUpperBound()));
1817 Record.push_back(VE.getMetadataOrNullID(N->getRawStride()));
1819 Stream.EmitRecord(bitc::METADATA_GENERIC_SUBRANGE, Record, Abbrev);
1820 Record.clear();
1824 SmallVectorImpl<uint64_t> &Record,
1827 Record.push_back(IsBigInt | (N->isUnsigned() << 1) | N->isDistinct());
1828 Record.push_back(N->getValue().getBitWidth());
1829 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
1830 emitWideAPInt(Record, N->getValue());
1832 Stream.EmitRecord(bitc::METADATA_ENUMERATOR, Record, Abbrev);
1833 Record.clear();
1837 SmallVectorImpl<uint64_t> &Record,
1839 Record.push_back(N->isDistinct());
1840 Record.push_back(N->getTag());
1841 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
1842 Record.push_back(N->getSizeInBits());
1843 Record.push_back(N->getAlignInBits());
1844 Record.push_back(N->getEncoding());
1845 Record.push_back(N->getFlags());
1847 Stream.EmitRecord(bitc::METADATA_BASIC_TYPE, Record, Abbrev);
1848 Record.clear();
1852 SmallVectorImpl<uint64_t> &Record,
1854 Record.push_back(N->isDistinct());
1855 Record.push_back(N->getTag());
1856 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
1857 Record.push_back(VE.getMetadataOrNullID(N->getStringLength()));
1858 Record.push_back(VE.getMetadataOrNullID(N->getStringLengthExp()));
1859 Record.push_back(VE.getMetadataOrNullID(N->getStringLocationExp()));
1860 Record.push_back(N->getSizeInBits());
1861 Record.push_back(N->getAlignInBits());
1862 Record.push_back(N->getEncoding());
1864 Stream.EmitRecord(bitc::METADATA_STRING_TYPE, Record, Abbrev);
1865 Record.clear();
1869 SmallVectorImpl<uint64_t> &Record,
1871 Record.push_back(N->isDistinct());
1872 Record.push_back(N->getTag());
1873 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
1874 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
1875 Record.push_back(N->getLine());
1876 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
1877 Record.push_back(VE.getMetadataOrNullID(N->getBaseType()));
1878 Record.push_back(N->getSizeInBits());
1879 Record.push_back(N->getAlignInBits());
1880 Record.push_back(N->getOffsetInBits());
1881 Record.push_back(N->getFlags());
1882 Record.push_back(VE.getMetadataOrNullID(N->getExtraData()));
1887 Record.push_back(*DWARFAddressSpace + 1);
1889 Record.push_back(0);
1891 Record.push_back(VE.getMetadataOrNullID(N->getAnnotations().get()));
1894 Record.push_back(PtrAuthData->RawData);
1896 Record.push_back(0);
1898 Stream.EmitRecord(bitc::METADATA_DERIVED_TYPE, Record, Abbrev);
1899 Record.clear();
1903 const DICompositeType *N, SmallVectorImpl<uint64_t> &Record,
1906 Record.push_back(IsNotUsedInOldTypeRef | (unsigned)N->isDistinct());
1907 Record.push_back(N->getTag());
1908 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
1909 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
1910 Record.push_back(N->getLine());
1911 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
1912 Record.push_back(VE.getMetadataOrNullID(N->getBaseType()));
1913 Record.push_back(N->getSizeInBits());
1914 Record.push_back(N->getAlignInBits());
1915 Record.push_back(N->getOffsetInBits());
1916 Record.push_back(N->getFlags());
1917 Record.push_back(VE.getMetadataOrNullID(N->getElements().get()));
1918 Record.push_back(N->getRuntimeLang());
1919 Record.push_back(VE.getMetadataOrNullID(N->getVTableHolder()));
1920 Record.push_back(VE.getMetadataOrNullID(N->getTemplateParams().get()));
1921 Record.push_back(VE.getMetadataOrNullID(N->getRawIdentifier()));
1922 Record.push_back(VE.getMetadataOrNullID(N->getDiscriminator()));
1923 Record.push_back(VE.getMetadataOrNullID(N->getRawDataLocation()));
1924 Record.push_back(VE.getMetadataOrNullID(N->getRawAssociated()));
1925 Record.push_back(VE.getMetadataOrNullID(N->getRawAllocated()));
1926 Record.push_back(VE.getMetadataOrNullID(N->getRawRank()));
1927 Record.push_back(VE.getMetadataOrNullID(N->getAnnotations().get()));
1929 Stream.EmitRecord(bitc::METADATA_COMPOSITE_TYPE, Record, Abbrev);
1930 Record.clear();
1934 const DISubroutineType *N, SmallVectorImpl<uint64_t> &Record,
1937 Record.push_back(HasNoOldTypeRefs | (unsigned)N->isDistinct());
1938 Record.push_back(N->getFlags());
1939 Record.push_back(VE.getMetadataOrNullID(N->getTypeArray().get()));
1940 Record.push_back(N->getCC());
1942 Stream.EmitRecord(bitc::METADATA_SUBROUTINE_TYPE, Record, Abbrev);
1943 Record.clear();
1947 SmallVectorImpl<uint64_t> &Record,
1949 Record.push_back(N->isDistinct());
1950 Record.push_back(VE.getMetadataOrNullID(N->getRawFilename()));
1951 Record.push_back(VE.getMetadataOrNullID(N->getRawDirectory()));
1953 Record.push_back(N->getRawChecksum()->Kind);
1954 Record.push_back(VE.getMetadataOrNullID(N->getRawChecksum()->Value));
1958 Record.push_back(0);
1959 Record.push_back(VE.getMetadataOrNullID(nullptr));
1963 Record.push_back(VE.getMetadataOrNullID(Source));
1965 Stream.EmitRecord(bitc::METADATA_FILE, Record, Abbrev);
1966 Record.clear();
1970 SmallVectorImpl<uint64_t> &Record,
1973 Record.push_back(/* IsDistinct */ true);
1974 Record.push_back(N->getSourceLanguage());
1975 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
1976 Record.push_back(VE.getMetadataOrNullID(N->getRawProducer()));
1977 Record.push_back(N->isOptimized());
1978 Record.push_back(VE.getMetadataOrNullID(N->getRawFlags()));
1979 Record.push_back(N->getRuntimeVersion());
1980 Record.push_back(VE.getMetadataOrNullID(N->getRawSplitDebugFilename()));
1981 Record.push_back(N->getEmissionKind());
1982 Record.push_back(VE.getMetadataOrNullID(N->getEnumTypes().get()));
1983 Record.push_back(VE.getMetadataOrNullID(N->getRetainedTypes().get()));
1984 Record.push_back(/* subprograms */ 0);
1985 Record.push_back(VE.getMetadataOrNullID(N->getGlobalVariables().get()));
1986 Record.push_back(VE.getMetadataOrNullID(N->getImportedEntities().get()));
1987 Record.push_back(N->getDWOId());
1988 Record.push_back(VE.getMetadataOrNullID(N->getMacros().get()));
1989 Record.push_back(N->getSplitDebugInlining());
1990 Record.push_back(N->getDebugInfoForProfiling());
1991 Record.push_back((unsigned)N->getNameTableKind());
1992 Record.push_back(N->getRangesBaseAddress());
1993 Record.push_back(VE.getMetadataOrNullID(N->getRawSysRoot()));
1994 Record.push_back(VE.getMetadataOrNullID(N->getRawSDK()));
1996 Stream.EmitRecord(bitc::METADATA_COMPILE_UNIT, Record, Abbrev);
1997 Record.clear();
2001 SmallVectorImpl<uint64_t> &Record,
2005 Record.push_back(uint64_t(N->isDistinct()) | HasUnitFlag | HasSPFlagsFlag);
2006 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
2007 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
2008 Record.push_back(VE.getMetadataOrNullID(N->getRawLinkageName()));
2009 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
2010 Record.push_back(N->getLine());
2011 Record.push_back(VE.getMetadataOrNullID(N->getType()));
2012 Record.push_back(N->getScopeLine());
2013 Record.push_back(VE.getMetadataOrNullID(N->getContainingType()));
2014 Record.push_back(N->getSPFlags());
2015 Record.push_back(N->getVirtualIndex());
2016 Record.push_back(N->getFlags());
2017 Record.push_back(VE.getMetadataOrNullID(N->getRawUnit()));
2018 Record.push_back(VE.getMetadataOrNullID(N->getTemplateParams().get()));
2019 Record.push_back(VE.getMetadataOrNullID(N->getDeclaration()));
2020 Record.push_back(VE.getMetadataOrNullID(N->getRetainedNodes().get()));
2021 Record.push_back(N->getThisAdjustment());
2022 Record.push_back(VE.getMetadataOrNullID(N->getThrownTypes().get()));
2023 Record.push_back(VE.getMetadataOrNullID(N->getAnnotations().get()));
2024 Record.push_back(VE.getMetadataOrNullID(N->getRawTargetFuncName()));
2026 Stream.EmitRecord(bitc::METADATA_SUBPROGRAM, Record, Abbrev);
2027 Record.clear();
2031 SmallVectorImpl<uint64_t> &Record,
2033 Record.push_back(N->isDistinct());
2034 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
2035 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
2036 Record.push_back(N->getLine());
2037 Record.push_back(N->getColumn());
2039 Stream.EmitRecord(bitc::METADATA_LEXICAL_BLOCK, Record, Abbrev);
2040 Record.clear();
2044 const DILexicalBlockFile *N, SmallVectorImpl<uint64_t> &Record,
2046 Record.push_back(N->isDistinct());
2047 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
2048 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
2049 Record.push_back(N->getDiscriminator());
2051 Stream.EmitRecord(bitc::METADATA_LEXICAL_BLOCK_FILE, Record, Abbrev);
2052 Record.clear();
2056 SmallVectorImpl<uint64_t> &Record,
2058 Record.push_back(N->isDistinct());
2059 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
2060 Record.push_back(VE.getMetadataOrNullID(N->getDecl()));
2061 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
2062 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
2063 Record.push_back(N->getLineNo());
2065 Stream.EmitRecord(bitc::METADATA_COMMON_BLOCK, Record, Abbrev);
2066 Record.clear();
2070 SmallVectorImpl<uint64_t> &Record,
2072 Record.push_back(N->isDistinct() | N->getExportSymbols() << 1);
2073 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
2074 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
2076 Stream.EmitRecord(bitc::METADATA_NAMESPACE, Record, Abbrev);
2077 Record.clear();
2081 SmallVectorImpl<uint64_t> &Record,
2083 Record.push_back(N->isDistinct());
2084 Record.push_back(N->getMacinfoType());
2085 Record.push_back(N->getLine());
2086 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
2087 Record.push_back(VE.getMetadataOrNullID(N->getRawValue()));
2089 Stream.EmitRecord(bitc::METADATA_MACRO, Record, Abbrev);
2090 Record.clear();
2094 SmallVectorImpl<uint64_t> &Record,
2096 Record.push_back(N->isDistinct());
2097 Record.push_back(N->getMacinfoType());
2098 Record.push_back(N->getLine());
2099 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
2100 Record.push_back(VE.getMetadataOrNullID(N->getElements().get()));
2102 Stream.EmitRecord(bitc::METADATA_MACRO_FILE, Record, Abbrev);
2103 Record.clear();
2107 SmallVectorImpl<uint64_t> &Record) {
2108 Record.reserve(N->getArgs().size());
2110 Record.push_back(VE.getMetadataID(MD));
2112 Stream.EmitRecord(bitc::METADATA_ARG_LIST, Record);
2113 Record.clear();
2117 SmallVectorImpl<uint64_t> &Record,
2119 Record.push_back(N->isDistinct());
2121 Record.push_back(VE.getMetadataOrNullID(I));
2122 Record.push_back(N->getLineNo());
2123 Record.push_back(N->getIsDecl());
2125 Stream.EmitRecord(bitc::METADATA_MODULE, Record, Abbrev);
2126 Record.clear();
2130 SmallVectorImpl<uint64_t> &Record,
2133 Record.push_back(N->isDistinct());
2134 Stream.EmitRecord(bitc::METADATA_ASSIGN_ID, Record, Abbrev);
2135 Record.clear();
2139 const DITemplateTypeParameter *N, SmallVectorImpl<uint64_t> &Record,
2141 Record.push_back(N->isDistinct());
2142 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
2143 Record.push_back(VE.getMetadataOrNullID(N->getType()));
2144 Record.push_back(N->isDefault());
2146 Stream.EmitRecord(bitc::METADATA_TEMPLATE_TYPE, Record, Abbrev);
2147 Record.clear();
2151 const DITemplateValueParameter *N, SmallVectorImpl<uint64_t> &Record,
2153 Record.push_back(N->isDistinct());
2154 Record.push_back(N->getTag());
2155 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
2156 Record.push_back(VE.getMetadataOrNullID(N->getType()));
2157 Record.push_back(N->isDefault());
2158 Record.push_back(VE.getMetadataOrNullID(N->getValue()));
2160 Stream.EmitRecord(bitc::METADATA_TEMPLATE_VALUE, Record, Abbrev);
2161 Record.clear();
2165 const DIGlobalVariable *N, SmallVectorImpl<uint64_t> &Record,
2168 Record.push_back((uint64_t)N->isDistinct() | Version);
2169 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
2170 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
2171 Record.push_back(VE.getMetadataOrNullID(N->getRawLinkageName()));
2172 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
2173 Record.push_back(N->getLine());
2174 Record.push_back(VE.getMetadataOrNullID(N->getType()));
2175 Record.push_back(N->isLocalToUnit());
2176 Record.push_back(N->isDefinition());
2177 Record.push_back(VE.getMetadataOrNullID(N->getStaticDataMemberDeclaration()));
2178 Record.push_back(VE.getMetadataOrNullID(N->getTemplateParams()));
2179 Record.push_back(N->getAlignInBits());
2180 Record.push_back(VE.getMetadataOrNullID(N->getAnnotations().get()));
2182 Stream.EmitRecord(bitc::METADATA_GLOBAL_VAR, Record, Abbrev);
2183 Record.clear();
2187 const DILocalVariable *N, SmallVectorImpl<uint64_t> &Record,
2191 // 1) Record has no artificial tag (Record[1]),
2192 // has no obsolete inlinedAt field (Record[9]).
2193 // In this case Record size will be 8, HasAlignment flag is false.
2194 // 2) Record has artificial tag (Record[1]),
2195 // has no obsolete inlignedAt field (Record[9]).
2196 // In this case Record size will be 9, HasAlignment flag is false.
2197 // 3) Record has both artificial tag (Record[1]) and
2198 // obsolete inlignedAt field (Record[9]).
2199 // In this case Record size will be 10, HasAlignment flag is false.
2200 // 4) Record has neither artificial tag, nor inlignedAt field, but
2201 // HasAlignment flag is true and Record[8] contains alignment value.
2203 Record.push_back((uint64_t)N->isDistinct() | HasAlignmentFlag);
2204 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
2205 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
2206 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
2207 Record.push_back(N->getLine());
2208 Record.push_back(VE.getMetadataOrNullID(N->getType()));
2209 Record.push_back(N->getArg());
2210 Record.push_back(N->getFlags());
2211 Record.push_back(N->getAlignInBits());
2212 Record.push_back(VE.getMetadataOrNullID(N->getAnnotations().get()));
2214 Stream.EmitRecord(bitc::METADATA_LOCAL_VAR, Record, Abbrev);
2215 Record.clear();
2219 const DILabel *N, SmallVectorImpl<uint64_t> &Record,
2221 Record.push_back((uint64_t)N->isDistinct());
2222 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
2223 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
2224 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
2225 Record.push_back(N->getLine());
2227 Stream.EmitRecord(bitc::METADATA_LABEL, Record, Abbrev);
2228 Record.clear();
2232 SmallVectorImpl<uint64_t> &Record,
2234 Record.reserve(N->getElements().size() + 1);
2236 Record.push_back((uint64_t)N->isDistinct() | Version);
2237 Record.append(N->elements_begin(), N->elements_end());
2239 Stream.EmitRecord(bitc::METADATA_EXPRESSION, Record, Abbrev);
2240 Record.clear();
2244 const DIGlobalVariableExpression *N, SmallVectorImpl<uint64_t> &Record,
2246 Record.push_back(N->isDistinct());
2247 Record.push_back(VE.getMetadataOrNullID(N->getVariable()));
2248 Record.push_back(VE.getMetadataOrNullID(N->getExpression()));
2250 Stream.EmitRecord(bitc::METADATA_GLOBAL_VAR_EXPR, Record, Abbrev);
2251 Record.clear();
2255 SmallVectorImpl<uint64_t> &Record,
2257 Record.push_back(N->isDistinct());
2258 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
2259 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
2260 Record.push_back(N->getLine());
2261 Record.push_back(VE.getMetadataOrNullID(N->getRawSetterName()));
2262 Record.push_back(VE.getMetadataOrNullID(N->getRawGetterName()));
2263 Record.push_back(N->getAttributes());
2264 Record.push_back(VE.getMetadataOrNullID(N->getType()));
2266 Stream.EmitRecord(bitc::METADATA_OBJC_PROPERTY, Record, Abbrev);
2267 Record.clear();
2271 const DIImportedEntity *N, SmallVectorImpl<uint64_t> &Record,
2273 Record.push_back(N->isDistinct());
2274 Record.push_back(N->getTag());
2275 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
2276 Record.push_back(VE.getMetadataOrNullID(N->getEntity()));
2277 Record.push_back(N->getLine());
2278 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
2279 Record.push_back(VE.getMetadataOrNullID(N->getRawFile()));
2280 Record.push_back(VE.getMetadataOrNullID(N->getElements().get()));
2282 Stream.EmitRecord(bitc::METADATA_IMPORTED_ENTITY, Record, Abbrev);
2283 Record.clear();
2295 SmallVectorImpl<uint64_t> &Record) {
2303 Record.append(Str.bytes_begin(), Str.bytes_end());
2304 Stream.EmitRecord(bitc::METADATA_NAME, Record, Abbrev);
2305 Record.clear();
2309 Record.push_back(VE.getMetadataID(N));
2310 Stream.EmitRecord(bitc::METADATA_NAMED_NODE, Record, 0);
2311 Record.clear();
2329 ArrayRef<const Metadata *> Strings, SmallVectorImpl<uint64_t> &Record) {
2334 Record.push_back(bitc::METADATA_STRINGS);
2335 Record.push_back(Strings.size());
2347 Record.push_back(Blob.size());
2354 Stream.EmitRecordWithBlob(createMetadataStringsAbbrev(), Record, Blob);
2355 Record.clear();
2366 ArrayRef<const Metadata *> MDs, SmallVectorImpl<uint64_t> &Record,
2387 write##CLASS(cast<CLASS>(N), Record, \
2390 write##CLASS(cast<CLASS>(N), Record, CLASS##Abbrev); \
2396 writeDIArgList(AL, Record);
2399 writeValueAsMetadata(cast<ValueAsMetadata>(MD), Record);
2408 SmallVector<uint64_t, 64> Record;
2432 writeMetadataStrings(VE.getMDStrings(), Record);
2455 writeMetadataRecords(VE.getNonMDStrings(), Record, &MDAbbrevs, &IndexPos);
2478 writeNamedMetadata(Record);
2481 SmallVector<uint64_t, 4> Record;
2482 Record.push_back(VE.getValueID(&GO));
2483 pushGlobalMetadataAttachment(Record, GO);
2484 Stream.EmitRecord(bitc::METADATA_GLOBAL_DECL_ATTACHMENT, Record);
2503 SmallVector<uint64_t, 64> Record;
2504 writeMetadataStrings(VE.getMDStrings(), Record);
2505 writeMetadataRecords(VE.getNonMDStrings(), Record);
2510 SmallVectorImpl<uint64_t> &Record, const GlobalObject &GO) {
2515 Record.push_back(I.first);
2516 Record.push_back(VE.getMetadataID(I.second));
2523 SmallVector<uint64_t, 64> Record;
2526 pushGlobalMetadataAttachment(Record, F);
2527 Stream.EmitRecord(bitc::METADATA_ATTACHMENT, Record, 0);
2528 Record.clear();
2542 Record.push_back(VE.getInstructionID(&I));
2545 Record.push_back(MDs[i].first);
2546 Record.push_back(VE.getMetadataID(MDs[i].second));
2548 Stream.EmitRecord(bitc::METADATA_ATTACHMENT, Record, 0);
2549 Record.clear();
2556 SmallVector<uint64_t, 64> Record;
2568 Record.push_back(MDKindID);
2570 Record.append(KName.begin(), KName.end());
2572 Stream.EmitRecord(bitc::METADATA_KIND, Record, 0);
2573 Record.clear();
2594 SmallVector<uint64_t, 64> Record;
2597 Record.append(Tag.begin(), Tag.end());
2599 Stream.EmitRecord(bitc::OPERAND_BUNDLE_TAG, Record, 0);
2600 Record.clear();
2614 SmallVector<uint64_t, 64> Record;
2616 Record.append(SSN.begin(), SSN.end());
2617 Stream.EmitRecord(bitc::SYNC_SCOPE_NAME, Record, 0);
2618 Record.clear();
2663 SmallVector<uint64_t, 64> Record;
2672 Record.push_back(VE.getTypeID(LastTy));
2673 Stream.EmitRecord(bitc::CST_CODE_SETTYPE, Record,
2675 Record.clear();
2679 Record.push_back(VE.getTypeID(IA->getFunctionType()));
2680 Record.push_back(
2686 Record.push_back(AsmStr.size());
2687 Record.append(AsmStr.begin(), AsmStr.end());
2691 Record.push_back(ConstraintStr.size());
2692 Record.append(ConstraintStr.begin(), ConstraintStr.end());
2693 Stream.EmitRecord(bitc::CST_CODE_INLINEASM, Record);
2694 Record.clear();
2709 emitSignedInt64(Record, V);
2713 emitWideAPInt(Record, IV->getValue());
2721 Record.push_back(CFP->getValueAPF().bitcastToAPInt().getZExtValue());
2727 Record.push_back((p[1] << 48) | (p[0] >> 16));
2728 Record.push_back(p[0] & 0xffffLL);
2732 Record.push_back(p[0]);
2733 Record.push_back(p[1]);
2754 Record.push_back(V);
2770 Record.push_back(CDS->getElementAsInteger(i));
2773 Record.push_back(
2779 Record.push_back(VE.getValueID(Op));
2786 Record.push_back(getEncodedCastOpcode(CE->getOpcode()));
2787 Record.push_back(VE.getTypeID(C->getOperand(0)->getType()));
2788 Record.push_back(VE.getValueID(C->getOperand(0)));
2793 Record.push_back(getEncodedBinaryOpcode(CE->getOpcode()));
2794 Record.push_back(VE.getValueID(C->getOperand(0)));
2795 Record.push_back(VE.getValueID(C->getOperand(1)));
2798 Record.push_back(Flags);
2804 Record.push_back(getEncodedUnaryOpcode(CE->getOpcode()));
2805 Record.push_back(VE.getValueID(C->getOperand(0)));
2808 Record.push_back(Flags);
2814 Record.push_back(VE.getTypeID(GO->getSourceElementType()));
2815 Record.push_back(getOptimizationFlags(GO));
2818 emitConstantRange(Record, *Range, /*EmitBitWidth=*/true);
2821 Record.push_back(VE.getTypeID(C->getOperand(i)->getType()));
2822 Record.push_back(VE.getValueID(C->getOperand(i)));
2828 Record.push_back(VE.getTypeID(C->getOperand(0)->getType()));
2829 Record.push_back(VE.getValueID(C->getOperand(0)));
2830 Record.push_back(VE.getTypeID(C->getOperand(1)->getType()));
2831 Record.push_back(VE.getValueID(C->getOperand(1)));
2835 Record.push_back(VE.getValueID(C->getOperand(0)));
2836 Record.push_back(VE.getValueID(C->getOperand(1)));
2837 Record.push_back(VE.getTypeID(C->getOperand(2)->getType()));
2838 Record.push_back(VE.getValueID(C->getOperand(2)));
2849 Record.push_back(VE.getTypeID(C->getOperand(0)->getType()));
2851 Record.push_back(VE.getValueID(C->getOperand(0)));
2852 Record.push_back(VE.getValueID(C->getOperand(1)));
2853 Record.push_back(VE.getValueID(CE->getShuffleMaskForBitcode()));
2858 Record.push_back(VE.getTypeID(BA->getFunction()->getType()));
2859 Record.push_back(VE.getValueID(BA->getFunction()));
2860 Record.push_back(VE.getGlobalBasicBlockID(BA->getBasicBlock()));
2863 Record.push_back(VE.getTypeID(Equiv->getGlobalValue()->getType()));
2864 Record.push_back(VE.getValueID(Equiv->getGlobalValue()));
2867 Record.push_back(VE.getTypeID(NC->getGlobalValue()->getType()));
2868 Record.push_back(VE.getValueID(NC->getGlobalValue()));
2871 Record.push_back(VE.getValueID(CPA->getPointer()));
2872 Record.push_back(VE.getValueID(CPA->getKey()));
2873 Record.push_back(VE.getValueID(CPA->getDiscriminator()));
2874 Record.push_back(VE.getValueID(CPA->getAddrDiscriminator()));
2881 Stream.EmitRecord(Code, Record, AbbrevToUse);
2882 Record.clear();
2923 SmallVector<unsigned, 64> Record;
2928 Record.push_back(C.getOperandBundleTagID(Bundle.getTagName()));
2931 pushValueAndType(Input, InstID, Record);
2933 Stream.EmitRecord(bitc::FUNC_CODE_OPERAND_BUNDLE, Record);
2934 Record.clear();
3276 unsigned Record = 0;
3279 Record, EncodedAlign & ((1 << APV::AlignLower::Bits) - 1));
3280 Bitfield::set<APV::AlignUpper>(Record,
3282 Bitfield::set<APV::UsedWithInAlloca>(Record, AI.isUsedWithInAlloca());
3283 Bitfield::set<APV::ExplicitType>(Record, true);
3284 Bitfield::set<APV::SwiftError>(Record, AI.isSwiftError());
3285 Vals.push_back(Record);
3437 uint64_t Record[2];
3442 Record[0] = VE.getValueID(&F);
3451 Record[1] = BitcodeIndex / 32 + 1;
3453 Stream.EmitRecord(bitc::VST_CODE_FNENTRY, Record, FnEntryAbbrev);
3512 SmallVector<uint64_t, 64> Record(Order.Shuffle.begin(), Order.Shuffle.end());
3513 Record.push_back(VE.getValueID(Order.V));
3514 Stream.EmitRecord(Code, Record);
4008 SmallVector<uint64_t, 64> Record;
4014 Record.clear();
4016 Record.push_back(VF.GUID);
4017 Record.push_back(VF.Offset);
4019 Stream.EmitRecord(Ty, Record);
4030 Record.clear();
4031 Record.push_back(VC.VFunc.GUID);
4032 Record.push_back(VC.VFunc.Offset);
4033 llvm::append_range(Record, VC.Args);
4034 Stream.EmitRecord(Ty, Record);
4047 emitSignedInt64(Record, *Range.getLower().getRawData());
4048 emitSignedInt64(Record, *Range.getUpper().getRawData());
4052 Record.clear();
4054 size_t UndoSize = Record.size();
4055 Record.push_back(Arg.ParamNo);
4057 Record.push_back(Arg.Calls.size());
4059 Record.push_back(Call.ParamNo);
4064 Record.resize(UndoSize);
4067 Record.push_back(*ValueID);
4071 if (!Record.empty())
4072 Stream.EmitRecord(bitc::FS_PARAM_ACCESS, Record);
4166 SmallVector<uint64_t> Record;
4169 Record.clear();
4173 Record.push_back(GetValueID(CI.Callee));
4175 Record.push_back(CI.StackIdIndices.size());
4176 Record.push_back(CI.Clones.size());
4179 Record.push_back(GetStackIndex(Id));
4182 Record.push_back(V);
4186 Record, CallsiteAbbrev);
4190 Record.clear();
4194 Record.push_back(AI.MIBs.size());
4196 Record.push_back(AI.Versions.size());
4198 Record.push_back((uint8_t)MIB.AllocType);
4199 Record.push_back(MIB.StackIdIndices.size());
4201 Record.push_back(GetStackIndex(Id));
4205 Record.push_back(V);
4210 Record.push_back(Size);
4214 Record, AllocAbbrev);
4691 // the callee function summary is not included. Record 0 which we
5017 void BitcodeWriter::writeBlob(unsigned Block, unsigned Record, StringRef Blob) {
5021 Abbv->Add(BitCodeAbbrevOp(Record));
5025 Stream->EmitRecordWithBlob(AbbrevNo, ArrayRef<uint64_t>{Record}, Blob);