Lines Matching full:record
58 // Generates an enum to use as an index in the Abbrev array of Metadata record.
117 /// Saves the offset of the VSTOffset record that must eventually be
220 SmallVectorImpl<uint64_t> &Record);
221 void writeMDTuple(const MDTuple *N, SmallVectorImpl<uint64_t> &Record,
223 void writeDILocation(const DILocation *N, SmallVectorImpl<uint64_t> &Record,
226 SmallVectorImpl<uint64_t> &Record, unsigned &Abbrev) {
229 void writeDISubrange(const DISubrange *N, SmallVectorImpl<uint64_t> &Record,
232 SmallVectorImpl<uint64_t> &Record,
237 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
238 void writeDIBasicType(const DIBasicType *N, SmallVectorImpl<uint64_t> &Record,
241 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev) {
245 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
247 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
249 SmallVectorImpl<uint64_t> &Record,
251 void writeDIFile(const DIFile *N, SmallVectorImpl<uint64_t> &Record,
254 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
256 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
258 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
260 SmallVectorImpl<uint64_t> &Record,
263 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev) {
266 void writeDINamespace(const DINamespace *N, SmallVectorImpl<uint64_t> &Record,
268 void writeDIMacro(const DIMacro *N, SmallVectorImpl<uint64_t> &Record,
272 void writeDIMacroFile(const DIMacroFile *N, SmallVectorImpl<uint64_t> &Record,
276 void writeDIArgList(const DIArgList *N, SmallVectorImpl<uint64_t> &Record,
280 void writeDIAssignID(const DIAssignID *N, SmallVectorImpl<uint64_t> &Record,
287 void writeDIModule(const DIModule *N, SmallVectorImpl<uint64_t> &Record,
290 SmallVectorImpl<uint64_t> &Record,
293 SmallVectorImpl<uint64_t> &Record,
296 SmallVectorImpl<uint64_t> &Record,
299 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
300 void writeDILabel(const DILabel *N, SmallVectorImpl<uint64_t> &Record,
305 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
307 SmallVectorImpl<uint64_t> &Record,
312 SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);
314 SmallVectorImpl<uint64_t> &Record,
317 void writeNamedMetadata(SmallVectorImpl<uint64_t> &Record);
320 SmallVectorImpl<uint64_t> &Record);
322 SmallVectorImpl<uint64_t> &Record,
328 void pushGlobalMetadataAttachment(SmallVectorImpl<uint64_t> &Record,
404 void BitcodeWriter::writeBlob(unsigned Block, unsigned Record, StringRef Blob) {
408 Abbv->Add(BitCodeAbbrevOp(Record));
412 Stream->EmitRecordWithBlob(AbbrevNo, ArrayRef<uint64_t>{Record}, Blob);
611 // Emit the finished record.
866 SmallVector<uint64_t, 64> Record;
870 Record.push_back(VE.getAttributeGroupID(Pair));
871 Record.push_back(AttrListIndex);
878 Record.push_back(0);
879 Record.push_back(Val);
884 Record.push_back(0);
885 Record.push_back(bitc::ATTR_KIND_READ_NONE);
888 Record.push_back(0);
889 Record.push_back(bitc::ATTR_KIND_READ_ONLY);
892 Record.push_back(0);
893 Record.push_back(bitc::ATTR_KIND_ARGMEMONLY);
900 Record.push_back(1);
901 Record.push_back(Val);
902 Record.push_back(Attr.getValueAsInt());
908 Record.push_back(Val.empty() ? 3 : 4);
909 Record.append(Kind.begin(), Kind.end());
910 Record.push_back(0);
912 Record.append(Val.begin(), Val.end());
913 Record.push_back(0);
918 Stream.EmitRecord(bitc::PARAMATTR_GRP_CODE_ENTRY, Record);
919 Record.clear();
932 SmallVector<uint64_t, 64> Record;
937 Record.push_back(VE.getAttributeGroupID({i, AS}));
940 Stream.EmitRecord(bitc::PARAMATTR_CODE_ENTRY, Record);
941 Record.clear();
1129 // Emit the finished record.
1334 const ValueAsMetadata *MD, SmallVectorImpl<uint64_t> &Record) {
1342 Record.push_back(getTypeID(Ty, V));
1343 Record.push_back(VE.getValueID(V));
1344 Stream.EmitRecord(bitc::METADATA_VALUE, Record, 0);
1345 Record.clear();
1349 SmallVectorImpl<uint64_t> &Record,
1355 Record.push_back(VE.getMetadataOrNullID(MD));
1359 Record, Abbrev);
1360 Record.clear();
1364 SmallVectorImpl<uint64_t> &Record,
1368 Record.push_back(N->isDistinct());
1369 Record.push_back(N->getLine());
1370 Record.push_back(N->getColumn());
1371 Record.push_back(VE.getMetadataID(N->getScope()));
1372 Record.push_back(VE.getMetadataOrNullID(N->getInlinedAt()));
1374 Stream.EmitRecord(bitc::METADATA_LOCATION, Record, Abbrev);
1375 Record.clear();
1385 SmallVectorImpl<uint64_t> &Record,
1387 Record.push_back(N->isDistinct());
1393 Record.push_back(Count->getValue().getSExtValue());
1399 Record.push_back(
1402 Stream.EmitRecord(bitc::METADATA_SUBRANGE, Record, Abbrev);
1403 Record.clear();
1407 SmallVectorImpl<uint64_t> &Record,
1409 Record.push_back(N->isDistinct());
1410 Record.push_back(rotateSign(N->getValue()));
1411 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
1413 Stream.EmitRecord(bitc::METADATA_ENUMERATOR, Record, Abbrev);
1414 Record.clear();
1418 SmallVectorImpl<uint64_t> &Record,
1420 Record.push_back(N->isDistinct());
1421 Record.push_back(N->getTag());
1422 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
1423 Record.push_back(N->getSizeInBits());
1424 Record.push_back(N->getAlignInBits());
1425 Record.push_back(N->getEncoding());
1427 Stream.EmitRecord(bitc::METADATA_BASIC_TYPE, Record, Abbrev);
1428 Record.clear();
1432 SmallVectorImpl<uint64_t> &Record,
1434 Record.push_back(N->isDistinct());
1435 Record.push_back(N->getTag());
1436 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
1437 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
1438 Record.push_back(N->getLine());
1439 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
1440 Record.push_back(VE.getMetadataOrNullID(N->getBaseType()));
1441 Record.push_back(N->getSizeInBits());
1442 Record.push_back(N->getAlignInBits());
1443 Record.push_back(N->getOffsetInBits());
1444 Record.push_back(N->getFlags());
1445 Record.push_back(VE.getMetadataOrNullID(N->getExtraData()));
1447 Stream.EmitRecord(bitc::METADATA_DERIVED_TYPE, Record, Abbrev);
1448 Record.clear();
1452 SmallVectorImpl<uint64_t> &Record,
1454 Record.push_back(N->isDistinct());
1455 Record.push_back(N->getTag());
1456 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
1457 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
1458 Record.push_back(N->getLine());
1459 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
1460 Record.push_back(VE.getMetadataOrNullID(N->getBaseType()));
1461 Record.push_back(N->getSizeInBits());
1462 Record.push_back(N->getAlignInBits());
1463 Record.push_back(N->getOffsetInBits());
1464 Record.push_back(N->getFlags());
1465 Record.push_back(VE.getMetadataOrNullID(N->getElements().get()));
1466 Record.push_back(N->getRuntimeLang());
1467 Record.push_back(VE.getMetadataOrNullID(N->getVTableHolder()));
1468 Record.push_back(VE.getMetadataOrNullID(N->getTemplateParams().get()));
1469 Record.push_back(VE.getMetadataOrNullID(N->getRawIdentifier()));
1471 Stream.EmitRecord(bitc::METADATA_COMPOSITE_TYPE, Record, Abbrev);
1472 Record.clear();
1476 SmallVectorImpl<uint64_t> &Record,
1478 Record.push_back(N->isDistinct());
1479 Record.push_back(N->getFlags());
1480 Record.push_back(VE.getMetadataOrNullID(N->getTypeArray().get()));
1482 Stream.EmitRecord(bitc::METADATA_SUBROUTINE_TYPE, Record, Abbrev);
1483 Record.clear();
1487 SmallVectorImpl<uint64_t> &Record,
1489 Record.push_back(N->isDistinct());
1490 Record.push_back(VE.getMetadataOrNullID(N->getRawFilename()));
1491 Record.push_back(VE.getMetadataOrNullID(N->getRawDirectory()));
1493 Stream.EmitRecord(bitc::METADATA_FILE, Record, Abbrev);
1494 Record.clear();
1498 SmallVectorImpl<uint64_t> &Record,
1500 Record.push_back(N->isDistinct());
1501 Record.push_back(N->getSourceLanguage());
1502 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
1503 Record.push_back(VE.getMetadataOrNullID(N->getRawProducer()));
1504 Record.push_back(N->isOptimized());
1505 Record.push_back(VE.getMetadataOrNullID(N->getRawFlags()));
1506 Record.push_back(N->getRuntimeVersion());
1507 Record.push_back(VE.getMetadataOrNullID(N->getRawSplitDebugFilename()));
1508 Record.push_back(N->getEmissionKind());
1509 Record.push_back(VE.getMetadataOrNullID(N->getEnumTypes().get()));
1510 Record.push_back(VE.getMetadataOrNullID(N->getRetainedTypes().get()));
1511 Record.push_back(/* subprograms */ 0);
1512 Record.push_back(VE.getMetadataOrNullID(N->getGlobalVariables().get()));
1513 Record.push_back(VE.getMetadataOrNullID(N->getImportedEntities().get()));
1514 Record.push_back(N->getDWOId());
1516 Stream.EmitRecord(bitc::METADATA_COMPILE_UNIT, Record, Abbrev);
1517 Record.clear();
1521 SmallVectorImpl<uint64_t> &Record,
1523 Record.push_back(N->isDistinct());
1524 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
1525 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
1526 Record.push_back(VE.getMetadataOrNullID(N->getRawLinkageName()));
1527 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
1528 Record.push_back(N->getLine());
1529 Record.push_back(VE.getMetadataOrNullID(N->getType()));
1530 Record.push_back(N->isLocalToUnit());
1531 Record.push_back(N->isDefinition());
1532 Record.push_back(N->getScopeLine());
1533 Record.push_back(VE.getMetadataOrNullID(N->getContainingType()));
1534 Record.push_back(N->getVirtuality());
1535 Record.push_back(N->getVirtualIndex());
1536 Record.push_back(N->getFlags());
1537 Record.push_back(N->isOptimized());
1538 Record.push_back(VE.getMetadataOrNullID(N->getRawUnit()));
1539 Record.push_back(VE.getMetadataOrNullID(N->getTemplateParams().get()));
1540 Record.push_back(VE.getMetadataOrNullID(N->getDeclaration()));
1541 Record.push_back(VE.getMetadataOrNullID(N->getRetainedNodes().get()));
1543 Stream.EmitRecord(bitc::METADATA_SUBPROGRAM, Record, Abbrev);
1544 Record.clear();
1548 SmallVectorImpl<uint64_t> &Record,
1550 Record.push_back(N->isDistinct());
1551 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
1552 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
1553 Record.push_back(N->getLine());
1554 Record.push_back(N->getColumn());
1556 Stream.EmitRecord(bitc::METADATA_LEXICAL_BLOCK, Record, Abbrev);
1557 Record.clear();
1561 const DILexicalBlockFile *N, SmallVectorImpl<uint64_t> &Record,
1563 Record.push_back(N->isDistinct());
1564 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
1565 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
1566 Record.push_back(N->getDiscriminator());
1568 Stream.EmitRecord(bitc::METADATA_LEXICAL_BLOCK_FILE, Record, Abbrev);
1569 Record.clear();
1573 SmallVectorImpl<uint64_t> &Record,
1575 Record.push_back(N->isDistinct());
1576 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
1577 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
1578 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
1579 Record.push_back(/* line number */ 0);
1581 Stream.EmitRecord(bitc::METADATA_NAMESPACE, Record, Abbrev);
1582 Record.clear();
1586 SmallVectorImpl<uint64_t> &Record,
1588 Record.push_back(N->isDistinct());
1590 Record.push_back(VE.getMetadataOrNullID(I));
1592 Stream.EmitRecord(bitc::METADATA_MODULE, Record, Abbrev);
1593 Record.clear();
1597 const DITemplateTypeParameter *N, SmallVectorImpl<uint64_t> &Record,
1599 Record.push_back(N->isDistinct());
1600 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
1601 Record.push_back(VE.getMetadataOrNullID(N->getType()));
1603 Stream.EmitRecord(bitc::METADATA_TEMPLATE_TYPE, Record, Abbrev);
1604 Record.clear();
1608 const DITemplateValueParameter *N, SmallVectorImpl<uint64_t> &Record,
1610 Record.push_back(N->isDistinct());
1611 Record.push_back(N->getTag());
1612 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
1613 Record.push_back(VE.getMetadataOrNullID(N->getType()));
1614 Record.push_back(VE.getMetadataOrNullID(N->getValue()));
1616 Stream.EmitRecord(bitc::METADATA_TEMPLATE_VALUE, Record, Abbrev);
1617 Record.clear();
1621 SmallVectorImpl<uint64_t> &Record,
1623 Record.push_back(N->isDistinct());
1624 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
1625 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
1626 Record.push_back(VE.getMetadataOrNullID(N->getRawLinkageName()));
1627 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
1628 Record.push_back(N->getLine());
1629 Record.push_back(VE.getMetadataOrNullID(N->getType()));
1630 Record.push_back(N->isLocalToUnit());
1631 Record.push_back(N->isDefinition());
1632 Record.push_back(/* N->getRawVariable() */ 0);
1633 Record.push_back(VE.getMetadataOrNullID(N->getStaticDataMemberDeclaration()));
1635 Stream.EmitRecord(bitc::METADATA_GLOBAL_VAR, Record, Abbrev);
1636 Record.clear();
1640 SmallVectorImpl<uint64_t> &Record,
1642 Record.push_back(N->isDistinct());
1643 Record.push_back(N->getTag());
1644 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
1645 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
1646 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
1647 Record.push_back(N->getLine());
1648 Record.push_back(VE.getMetadataOrNullID(N->getType()));
1649 Record.push_back(N->getArg());
1650 Record.push_back(N->getFlags());
1652 Stream.EmitRecord(bitc::METADATA_LOCAL_VAR, Record, Abbrev);
1653 Record.clear();
1657 SmallVectorImpl<uint64_t> &Record,
1659 Record.reserve(N->getElements().size() + 1);
1661 Record.push_back(N->isDistinct());
1662 Record.append(N->elements_begin(), N->elements_end());
1664 Stream.EmitRecord(bitc::METADATA_EXPRESSION, Record, Abbrev);
1665 Record.clear();
1669 SmallVectorImpl<uint64_t> &Record,
1675 SmallVectorImpl<uint64_t> &Record,
1677 Record.push_back(N->isDistinct());
1678 Record.push_back(N->getTag());
1679 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
1680 Record.push_back(VE.getMetadataOrNullID(N->getEntity()));
1681 Record.push_back(N->getLine());
1682 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
1684 Stream.EmitRecord(bitc::METADATA_IMPORTED_ENTITY, Record, Abbrev);
1685 Record.clear();
1720 SmallVectorImpl<uint64_t> &Record,
1742 write##CLASS(cast<CLASS>(N), Record, \
1745 write##CLASS(cast<CLASS>(N), Record, CLASS##Abbrev); \
1750 writeValueAsMetadata(cast<ValueAsMetadata>(MD), Record);
1763 ArrayRef<const Metadata *> Strings, SmallVectorImpl<uint64_t> &Record) {
1772 Record.append(MDS->bytes_begin(), MDS->bytes_end());
1774 // Emit the finished record.
1775 Stream.EmitRecord(bitc::METADATA_STRING_OLD, Record, MDSAbbrev);
1776 Record.clear();
1805 SmallVector<uint64_t, 64> Record;
1806 writeMetadataStrings(VE.getMDStrings(), Record);
1810 writeMetadataRecords(VE.getNonMDStrings(), Record, &MDAbbrevs, &IndexPos);
1816 Record.append(Str.bytes_begin(), Str.bytes_end());
1817 Stream.EmitRecord(bitc::METADATA_NAME, Record, NameAbbrev);
1818 Record.clear();
1822 Record.push_back(VE.getMetadataID(N));
1823 Stream.EmitRecord(bitc::METADATA_NAMED_NODE, Record, 0);
1824 Record.clear();
1835 SmallVector<uint64_t, 64> Record;
1836 writeMetadataStrings(VE.getMDStrings(), Record);
1837 writeMetadataRecords(VE.getNonMDStrings(), Record);
1844 SmallVector<uint64_t, 64> Record;
1852 Record.push_back(I.first);
1853 Record.push_back(VE.getMetadataID(I.second));
1855 Stream.EmitRecord(bitc::METADATA_ATTACHMENT, Record, 0);
1856 Record.clear();
1868 Record.push_back(VE.getInstructionID(&I));
1871 Record.push_back(MDs[i].first);
1872 Record.push_back(VE.getMetadataID(MDs[i].second));
1874 Stream.EmitRecord(bitc::METADATA_ATTACHMENT, Record, 0);
1875 Record.clear();
1882 SmallVector<uint64_t, 64> Record;
1895 Record.push_back(MDKindID);
1897 Record.append(KName.begin(), KName.end());
1899 Stream.EmitRecord(bitc::METADATA_KIND, Record, 0);
1900 Record.clear();
1947 SmallVector<uint64_t, 64> Record;
1956 Record.push_back(getTypeID(LastTy, V));
1957 Stream.EmitRecord(bitc::CST_CODE_SETTYPE, Record,
1959 Record.clear();
1963 Record.push_back(unsigned(IA->hasSideEffects()) |
1969 Record.push_back(AsmStr.size());
1970 Record.append(AsmStr.begin(), AsmStr.end());
1974 Record.push_back(ConstraintStr.size());
1975 Record.append(ConstraintStr.begin(), ConstraintStr.end());
1976 Stream.EmitRecord(bitc::CST_CODE_INLINEASM, Record);
1977 Record.clear();
1990 emitSignedInt64(Record, V);
2001 emitSignedInt64(Record, RawWords[i]);
2009 Record.push_back(CFP->getValueAPF().bitcastToAPInt().getZExtValue());
2015 Record.push_back((p[1] << 48) | (p[0] >> 16));
2016 Record.push_back(p[0] & 0xffffLL);
2020 Record.push_back(p[0]);
2021 Record.push_back(p[1]);
2042 Record.push_back(V);
2058 Record.push_back(CDS->getElementAsInteger(i));
2066 Record.push_back(I);
2076 Record.push_back(I);
2083 Record.push_back(VE.getValueID(Op));
2090 Record.push_back(getEncodedCastOpcode(CE->getOpcode()));
2091 Record.push_back(
2093 Record.push_back(VE.getValueID(C->getOperand(0)));
2098 Record.push_back(getEncodedBinaryOpcode(CE->getOpcode()));
2099 Record.push_back(VE.getValueID(C->getOperand(0)));
2100 Record.push_back(VE.getValueID(C->getOperand(1)));
2103 Record.push_back(Flags);
2111 Record.push_back(getTypeID(GO->getSourceElementType()));
2113 Record.push_back(
2115 Record.push_back(VE.getValueID(C->getOperand(i)));
2121 Record.push_back(VE.getValueID(C->getOperand(0)));
2122 Record.push_back(VE.getValueID(C->getOperand(1)));
2123 Record.push_back(VE.getValueID(C->getOperand(2)));
2127 Record.push_back(getTypeID(C->getOperand(0)->getType()));
2128 Record.push_back(VE.getValueID(C->getOperand(0)));
2129 Record.push_back(getTypeID(C->getOperand(1)->getType()));
2130 Record.push_back(VE.getValueID(C->getOperand(1)));
2134 Record.push_back(VE.getValueID(C->getOperand(0)));
2135 Record.push_back(VE.getValueID(C->getOperand(1)));
2136 Record.push_back(getTypeID(C->getOperand(2)->getType()));
2137 Record.push_back(VE.getValueID(C->getOperand(2)));
2148 Record.push_back(getTypeID(C->getOperand(0)->getType()));
2150 Record.push_back(VE.getValueID(C->getOperand(0)));
2151 Record.push_back(VE.getValueID(C->getOperand(1)));
2152 Record.push_back(VE.getValueID(C->getOperand(2)));
2157 Record.push_back(getTypeID(BA->getFunction()->getType()));
2158 Record.push_back(VE.getValueID(BA->getFunction()));
2159 Record.push_back(VE.getGlobalBasicBlockID(BA->getBasicBlock()));
2166 Stream.EmitRecord(Code, Record, AbbrevToUse);
2167 Record.clear();
2600 // Emit the finished record.