-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[DebugInfo][RemoveDIs] Delete experimental-iterator test-flags from tests #140045
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
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 d2942a8 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.
@llvm/pr-subscribers-debuginfo @llvm/pr-subscribers-llvm-transforms Author: Jeremy Morse (jmorse) ChangesOver 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 d2942a8 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:
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: }
|
(Now added most of the tests I changed; apparently I don't know how to use the git index). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, rip it
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 d2942a8 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.