[DebugInfo] IR/Bitcode changes for DISubprogram flags.
Packing the flags into one bitcode word will save effort in adding new flags in the future. Differential Revision: https://reviews.llvm.org/D54755 llvm-svn: 347806
This commit is contained in:
@@ -1633,22 +1633,20 @@ void ModuleBitcodeWriter::writeDICompileUnit(const DICompileUnit *N,
|
||||
void ModuleBitcodeWriter::writeDISubprogram(const DISubprogram *N,
|
||||
SmallVectorImpl<uint64_t> &Record,
|
||||
unsigned Abbrev) {
|
||||
uint64_t HasUnitFlag = 1 << 1;
|
||||
Record.push_back(N->isDistinct() | HasUnitFlag);
|
||||
const uint64_t HasUnitFlag = 1 << 1;
|
||||
const uint64_t HasSPFlagsFlag = 1 << 2;
|
||||
Record.push_back(uint64_t(N->isDistinct()) | HasUnitFlag | HasSPFlagsFlag);
|
||||
Record.push_back(VE.getMetadataOrNullID(N->getScope()));
|
||||
Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
|
||||
Record.push_back(VE.getMetadataOrNullID(N->getRawLinkageName()));
|
||||
Record.push_back(VE.getMetadataOrNullID(N->getFile()));
|
||||
Record.push_back(N->getLine());
|
||||
Record.push_back(VE.getMetadataOrNullID(N->getType()));
|
||||
Record.push_back(N->isLocalToUnit());
|
||||
Record.push_back(N->isDefinition());
|
||||
Record.push_back(N->getScopeLine());
|
||||
Record.push_back(VE.getMetadataOrNullID(N->getContainingType()));
|
||||
Record.push_back(N->getVirtuality());
|
||||
Record.push_back(N->getSPFlags());
|
||||
Record.push_back(N->getVirtualIndex());
|
||||
Record.push_back(N->getFlags());
|
||||
Record.push_back(N->isOptimized());
|
||||
Record.push_back(VE.getMetadataOrNullID(N->getRawUnit()));
|
||||
Record.push_back(VE.getMetadataOrNullID(N->getTemplateParams().get()));
|
||||
Record.push_back(VE.getMetadataOrNullID(N->getDeclaration()));
|
||||
|
||||
Reference in New Issue
Block a user