[llvm] [DebugInfo][RemoveDIs] Delete experimental-iterator test-flags from tests (PR #140045)

via llvm-commits llvm-commits at lists.llvm.org
Thu May 15 04:57:49 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-transforms

Author: Jeremy Morse (jmorse)

<details>
<summary>Changes</summary>

Over in 6a45fce, this flag (experimental-debuginfo-iterators) was switched to do nothing, to flush out anything that depended on the debug-intrinsics way of doing things. It's been a month and nothing's super-broken, so we'll start to rip things out.

This commit deletes MergeFunc's debuginfo-iterators test: in d2942a86d7 it's documented that that test is specifically because of differences between intrinsic/non-intrinsic data structures, and we're deleting the possibility of that difference.

Note that the DXIL test is still xfailed as it's testing for the presence of intrinsics, this patch just deletes the use of the flag, so that we can delete the flag definition. AFAIUI the DXIL compatibility question is "technically not our problem" (TM)(R) but solveable by pushing the debug-records-to-intrinsics routines down into the bitcode writer (at the cost of performance if it's made use of), which seems alright.

---
Full diff: https://github.com/llvm/llvm-project/pull/140045.diff


1 Files Affected:

- (removed) llvm/test/Transforms/MergeFunc/debuginfo-iterators.ll (-54) 


``````````diff
diff --git a/llvm/test/Transforms/MergeFunc/debuginfo-iterators.ll b/llvm/test/Transforms/MergeFunc/debuginfo-iterators.ll
deleted file mode 100644
index 67b51031bed62..0000000000000
--- a/llvm/test/Transforms/MergeFunc/debuginfo-iterators.ll
+++ /dev/null
@@ -1,54 +0,0 @@
-; RUN: opt -S -passes=mergefunc,inline --experimental-debuginfo-iterators < %s | FileCheck %s
-;; Ensure that the MergeFunctions pass creates thunks with the appropriate debug
-;; info format set (which would otherwise assert when inlining those thunks).
-
-declare void @f1()
-declare void @f2()
-
-define void @f3() {
-  call void @f1()
-  call void @f2()
-  ret void
-}
-
-;; MergeFunctions will replace f4 with a thunk that calls f3. Inlining will
-;; inline f3 into that thunk, which would assert if the thunk had the incorrect
-;; debug info format.
-define void @f4() {
-  call void @f1()
-  call void @f2()
-  ret void
-}
-
-; CHECK-LABEL: define void @f4() {
-; CHECK-NEXT:    call void @f1()
-; CHECK-NEXT:    call void @f2()
-; CHECK-NEXT:    ret void
-; CHECK-NEXT: }
-
-;; Both of these are interposable, so MergeFunctions will create a common thunk
-;; that both will call. Inlining will inline that thunk back, which would assert
-;; if the thunk had the incorrect debug info format.
-define weak void @f5() {
-  call void @f2()
-  call void @f1()
-  ret void
-}
-
-define weak void @f6() {
-  call void @f2()
-  call void @f1()
-  ret void
-}
-
-; CHECK-LABEL: define weak void @f6() {
-; CHECK-NEXT:    call void @f2()
-; CHECK-NEXT:    call void @f1()
-; CHECK-NEXT:    ret void
-; CHECK-NEXT:  }
-
-; CHECK-LABEL: define weak void @f5() {
-; CHECK-NEXT:    call void @f2()
-; CHECK-NEXT:    call void @f1()
-; CHECK-NEXT:    ret void
-; CHECK-NEXT:  }

``````````

</details>


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


More information about the llvm-commits mailing list