[clang] [llvm] [mlir] [debuginfo][coro] Emit debug info labels for coroutine resume points (PR #141937)
Adrian Vogelsgesang via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 1 13:31:10 PDT 2025
================
@@ -2344,11 +2344,15 @@ 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().value_or(std::numeric_limits<uint64_t>::max()));
----------------
vogelsgesang wrote:
fixed `MetaDataLoader.cpp` to read this correctly. The writing code here was already as intended
https://github.com/llvm/llvm-project/pull/141937
More information about the llvm-commits
mailing list