[Mlir-commits] [clang] [llvm] [mlir] [debuginfo][coro] Emit debug info labels for coroutine resume points (PR #141937)

Paul T Robinson llvmlistbot at llvm.org
Tue Jul 1 10:43:32 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()));
----------------
pogo59 wrote:

This `uint64_t` value isn't what MetaDataLoader.cpp is looking for.

https://github.com/llvm/llvm-project/pull/141937


More information about the Mlir-commits mailing list