[llvm] 31c1842 - [DSE] Add test with sret argument (NFC)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 26 05:25:39 PST 2022
Author: Nikita Popov
Date: 2022-01-26T14:25:31+01:00
New Revision: 31c1842a7b5ef4897fe3cbec21d261dae6ed5a74
URL: https://github.com/llvm/llvm-project/commit/31c1842a7b5ef4897fe3cbec21d261dae6ed5a74
DIFF: https://github.com/llvm/llvm-project/commit/31c1842a7b5ef4897fe3cbec21d261dae6ed5a74.diff
LOG: [DSE] Add test with sret argument (NFC)
Added:
Modified:
llvm/test/Transforms/DeadStoreElimination/simple.ll
Removed:
################################################################################
diff --git a/llvm/test/Transforms/DeadStoreElimination/simple.ll b/llvm/test/Transforms/DeadStoreElimination/simple.ll
index 14716ee9b0e6a..88197ee2cdbd6 100644
--- a/llvm/test/Transforms/DeadStoreElimination/simple.ll
+++ b/llvm/test/Transforms/DeadStoreElimination/simple.ll
@@ -532,6 +532,20 @@ define void @test34(i32* noalias %p) {
store i32 0, i32* %p
ret void
}
+; Same as previous case, but with an sret argument.
+; TODO: The first store could be eliminated if sret is not visible on unwind.
+define void @test34_sret(i32* noalias sret(i32) %p) {
+; CHECK-LABEL: @test34_sret(
+; CHECK-NEXT: store i32 1, i32* [[P:%.*]], align 4
+; CHECK-NEXT: call void @unknown_func()
+; CHECK-NEXT: store i32 0, i32* [[P]], align 4
+; CHECK-NEXT: ret void
+;
+ store i32 1, i32* %p
+ call void @unknown_func()
+ store i32 0, i32* %p
+ ret void
+}
; Remove redundant store even with an unwinding function in the same block
define void @test35(i32* noalias %p) {
More information about the llvm-commits
mailing list