[llvm] [DebugInfo][NVPTX] Adding support for `inlined_at` debug directive in NVPTX backend (PR #170239)
Jeremy Morse via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 8 08:27:01 PST 2025
================
@@ -1675,6 +1694,57 @@ void MCAsmStreamer::emitDwarfFile0Directive(
emitRawText(OS1.str());
}
+/// Helper to emit common .loc directive flags, isa, and discriminator
+void MCAsmStreamer::emitDwarfLocDirectiveFlags(unsigned Flags, unsigned Isa,
+ unsigned Discriminator) {
+ if (!MAI->supportsExtendedDwarfLocDirective())
+ return;
+
+ if (Flags & DWARF2_FLAG_BASIC_BLOCK)
+ OS << " basic_block";
+ if (Flags & DWARF2_FLAG_PROLOGUE_END)
+ OS << " prologue_end";
+ if (Flags & DWARF2_FLAG_EPILOGUE_BEGIN)
+ OS << " epilogue_begin";
+
+ const unsigned OldFlags = getContext().getCurrentDwarfLoc().getFlags();
+ if ((Flags & DWARF2_FLAG_IS_STMT) != (OldFlags & DWARF2_FLAG_IS_STMT)) {
+ OS << " is_stmt ";
+ OS << ((Flags & DWARF2_FLAG_IS_STMT) ? "1" : "0");
+ }
+
+ if (Isa)
+ OS << " isa " << Isa;
+ if (Discriminator)
+ OS << " discriminator " << Discriminator;
+}
+
+/// Helper to emit the common suffix of .loc directives
+void MCAsmStreamer::emitDwarfLocDirectiveSuffix(unsigned FileNo, unsigned Line,
+ unsigned Column, unsigned Flags,
+ unsigned Isa,
+ unsigned Discriminator,
+ StringRef FileName,
+ StringRef Comment) {
+ // Emit flags, isa, and discriminator
+ emitDwarfLocDirectiveFlags(Flags, Isa, Discriminator);
+
+ // Emit verbose comment if enabled
+ if (IsVerboseAsm) {
+ OS.PadToColumn(MAI->getCommentColumn());
+ OS << MAI->getCommentString() << ' ';
+ if (Comment.empty())
+ OS << FileName << ':' << Line << ':' << Column;
+ else
+ OS << Comment;
+ }
+
+ // Emit end of line and update parent state
----------------
jmorse wrote:
Superclass rather than parent?
https://github.com/llvm/llvm-project/pull/170239
More information about the llvm-commits
mailing list