aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
-rw-r--r--llvm/lib/Bitcode/Writer/BitcodeWriter.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
index e7ff772..64cb509 100644
--- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
+++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
@@ -2351,11 +2351,16 @@ void ModuleBitcodeWriter::writeDILocalVariable(
void ModuleBitcodeWriter::writeDILabel(
const DILabel *N, SmallVectorImpl<uint64_t> &Record,
unsigned Abbrev) {
- Record.push_back((uint64_t)N->isDistinct());
+ uint64_t IsArtificialFlag = uint64_t(N->isArtificial()) << 1;
+ Record.push_back((uint64_t)N->isDistinct() | IsArtificialFlag);
Record.push_back(VE.getMetadataOrNullID(N->getScope()));
Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
Record.push_back(VE.getMetadataOrNullID(N->getFile()));
Record.push_back(N->getLine());
+ Record.push_back(N->getColumn());
+ Record.push_back(N->getCoroSuspendIdx().has_value()
+ ? (uint64_t)N->getCoroSuspendIdx().value()
+ : std::numeric_limits<uint64_t>::max());
Stream.EmitRecord(bitc::METADATA_LABEL, Record, Abbrev);
Record.clear();