[llvm] 64233ae - [DSE] Add test with llvm.memcpy & memcpy_chk.

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 8 05:20:34 PST 2023


Author: Florian Hahn
Date: 2023-02-08T13:20:21Z
New Revision: 64233ae3eb2d2f2b504a7d24131228a45d74a219

URL: https://github.com/llvm/llvm-project/commit/64233ae3eb2d2f2b504a7d24131228a45d74a219
DIFF: https://github.com/llvm/llvm-project/commit/64233ae3eb2d2f2b504a7d24131228a45d74a219.diff

LOG: [DSE] Add test with llvm.memcpy & memcpy_chk.

This adds test coverage to avoid crashes with further changes.

Added: 
    

Modified: 
    llvm/test/Transforms/DeadStoreElimination/libcalls-chk.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/DeadStoreElimination/libcalls-chk.ll b/llvm/test/Transforms/DeadStoreElimination/libcalls-chk.ll
index 657bfce0d3fdd..737f99f539523 100644
--- a/llvm/test/Transforms/DeadStoreElimination/libcalls-chk.ll
+++ b/llvm/test/Transforms/DeadStoreElimination/libcalls-chk.ll
@@ -127,3 +127,16 @@ define void @dse_strncpy_memcpy_chk_test2(ptr noalias %out, ptr noalias %in, i64
   %call.1 = tail call ptr @__memcpy_chk(ptr %out, ptr %in, i64 100, i64 %n)
   ret void
 }
+
+define void @test_memcpy_intrinsic_and_memcpy_chk(ptr %A, ptr %B, ptr noalias %C) {
+; CHECK-LABEL: @test_memcpy_intrinsic_and_memcpy_chk(
+; CHECK-NEXT:    tail call void @llvm.memcpy.p0.p0.i64(ptr [[A:%.*]], ptr [[B:%.*]], i64 48, i1 false)
+; CHECK-NEXT:    [[CALL:%.*]] = call ptr @__memcpy_chk(ptr [[A]], ptr [[C:%.*]], i64 1, i64 10)
+; CHECK-NEXT:    ret void
+;
+  tail call void @llvm.memcpy.p0.p0.i64(ptr %A, ptr %B, i64 48, i1 false)
+  %call = call ptr @__memcpy_chk(ptr %A, ptr %C, i64 1, i64 10)
+  ret void
+}
+
+declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg)


        


More information about the llvm-commits mailing list