[llvm] Merge sourcelocation in CSEMIRBuilder::getDominatingInstrForID. (PR #90922)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue May 7 03:14:20 PDT 2024


================
@@ -0,0 +1,67 @@
+# This test checks to make sure that when an instruction (%35 in the test) is 
+# moved due to matching a result of a fold of two other instructions
+# (%16, and %17 in the test) in the legalizer, the DILocation of the 
+# instruction that is moved (%35) is updated appropriately.
+
+# RUN: llc %s -O0 --start-before=legalizer --stop-after=legalizer -o - | FileCheck %s 
+# CHECK-NOT: %35:_(s32) = G_CONSTANT i32 0, debug-location !71
+# CHECK: %35:_(s32) = G_CONSTANT i32 0, debug-location !DILocation(line: 0,
+--- |
+  source_filename = "/tmp/main.ll"
+  target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
+  target triple = "arm64-apple-macosx14.0.0"
+  
+  define i32 @main(i32 %0, ptr %1) #0 !dbg !57 {
+  entry:
+    ret i32 0, !dbg !71
+  }
+  !3 = !DIFile(filename: "main.swift", directory: "/Volumes/Data/swift")
+  !23 = distinct !DICompileUnit(language: DW_LANG_Swift, file: !3, sdk: "blah.sdk")
+  !57 = distinct !DISubprogram(name: "main", unit: !23)
+  !64 = distinct !DILexicalBlock(scope: !57, column: 1)
+  !66 = distinct !DILexicalBlock(scope: !64, column: 1)
+  !68 = !DILocation(line: 12, scope: !66)
+  !70 = distinct !DILexicalBlock(scope: !66, column: 1)
+  !71 = !DILocation(line: 13, scope: !70)
+name:            main
+registers:
----------------
arsenm wrote:

Don't need registers section 

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


More information about the llvm-commits mailing list