[Mlir-commits] [llvm] [mlir] [DebugInfo] Remove old decls when converting DI (PR #194964)
Jeremy Morse
llvmlistbot at llvm.org
Wed May 6 01:04:25 PDT 2026
================
@@ -0,0 +1,62 @@
+; RUN: llc --filetype=asm %s -o - | FileCheck %s
+
+target triple = "dxil-unknown-shadermodel6.7-library"
+target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
+
+; CHECK: define dso_local float @fma(float %0, float %1, float %2) local_unnamed_addr #0 !dbg [[Fn:[!][0-9]+]]
+define dso_local float @fma(float %0, float %1, float %2) local_unnamed_addr #0 !dbg !6 {
+; CHECK-NEXT: call void @llvm.dbg.value(metadata float %0, metadata [[VarX:[!][0-9]+]], metadata !DIExpression()), !dbg [[Line1:[!][0-9]+]]
+; CHECK-NEXT: call void @llvm.dbg.value(metadata float %1, metadata [[VarY:[!][0-9]+]], metadata !DIExpression()), !dbg [[Line1]]
+; CHECK-NEXT: call void @llvm.dbg.value(metadata float %2, metadata [[VarZ:[!][0-9]+]], metadata !DIExpression()), !dbg [[Line1]]
+ call void @llvm.dbg.value(metadata float %0, metadata !11, metadata !DIExpression()), !dbg !14
+ call void @llvm.dbg.value(metadata float %1, metadata !12, metadata !DIExpression()), !dbg !14
+ call void @llvm.dbg.value(metadata float %2, metadata !13, metadata !DIExpression()), !dbg !14
+; CHECK-NEXT: %4 = fmul float %0, %1, !dbg [[Line2:[!][0-9]+]]
+; CHECK-NEXT: %5 = fadd float %4, %2, !dbg [[Line3:[!][0-9]+]]
+ %4 = fmul float %0, %1, !dbg !15
+ %5 = fadd float %4, %2, !dbg !16
+ ret float %5, !dbg !17
+}
+
+
+attributes #0 = { norecurse nounwind readnone willreturn "hlsl.export" }
+
+!llvm.dbg.cu = !{!0}
+!llvm.module.flags = !{!3, !4}
+!llvm.ident = !{!5}
+
+; Other tests verify that we come back with reasonable structure for the debug
+; info types, this test just needs to ensure they are there.
+; The patch this is paired with fixes a bug where function debug info wasn't
+; being emitted correctly even though other tests verified the MD would be
+; emitted if it was referenced as module metadata.
----------------
jmorse wrote:
I'd suggest the test-wording to be independent of history ("this patch, that patch"), as it won't be relevant to readers in a years time.
https://github.com/llvm/llvm-project/pull/194964
More information about the Mlir-commits
mailing list