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

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


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

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.

>From 5371ffd613a2d2c02935cfc90abb53c378392103 Mon Sep 17 00:00:00 2001
From: Jeremy Morse <jeremy.morse at sony.com>
Date: Thu, 15 May 2025 12:40:58 +0100
Subject: [PATCH] [DebugInfo][RemoveDIs] Delete experimental-test-flags from
 tests

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.
---
 .../MergeFunc/debuginfo-iterators.ll          | 54 -------------------
 1 file changed, 54 deletions(-)
 delete mode 100644 llvm/test/Transforms/MergeFunc/debuginfo-iterators.ll

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:  }



More information about the llvm-commits mailing list