[llvm] 524ad6b - [BasicAA] Add memset_chk libfunc tests.
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 1 06:16:06 PST 2021
Author: Florian Hahn
Date: 2021-12-01T14:15:46Z
New Revision: 524ad6babb8ef3d3e5fa97aac9f24a2513e17e2b
URL: https://github.com/llvm/llvm-project/commit/524ad6babb8ef3d3e5fa97aac9f24a2513e17e2b
DIFF: https://github.com/llvm/llvm-project/commit/524ad6babb8ef3d3e5fa97aac9f24a2513e17e2b.diff
LOG: [BasicAA] Add memset_chk libfunc tests.
Added:
Modified:
llvm/test/Analysis/BasicAA/libfuncs.ll
Removed:
################################################################################
diff --git a/llvm/test/Analysis/BasicAA/libfuncs.ll b/llvm/test/Analysis/BasicAA/libfuncs.ll
index fb86c764b90b..31c4367aef07 100644
--- a/llvm/test/Analysis/BasicAA/libfuncs.ll
+++ b/llvm/test/Analysis/BasicAA/libfuncs.ll
@@ -175,3 +175,37 @@ entry:
store i8 3, i8* %b.gep.5
ret i8* %res
}
+
+declare i8* @__memset_chk(i8* writeonly, i32, i64, i64)
+
+; CHECK-LABEL: Function: test_memset_chk_const_size
+define i8* @test_memset_chk_const_size(i8* noalias %a, i64 %n) {
+; CHECK: Just Mod (MustAlias): Ptr: i8* %a <-> %res = tail call i8* @__memset_chk(i8* %a, i32 0, i64 4, i64 %n)
+; CHECK-NEXT: Just Mod: Ptr: i8* %res <-> %res = tail call i8* @__memset_chk(i8* %a, i32 0, i64 4, i64 %n)
+; CHECK-NEXT: Just Mod: Ptr: i8* %a.gep.1 <-> %res = tail call i8* @__memset_chk(i8* %a, i32 0, i64 4, i64 %n)
+; CHECK-NEXT: Just Mod: Ptr: i8* %a.gep.5 <-> %res = tail call i8* @__memset_chk(i8* %a, i32 0, i64 4, i64 %n)
+;
+entry:
+ %res = tail call i8* @__memset_chk(i8* %a, i32 0, i64 4, i64 %n)
+ %a.gep.1 = getelementptr i8, i8* %a, i32 1
+ store i8 0, i8* %a.gep.1
+ %a.gep.5 = getelementptr i8, i8* %a, i32 5
+ store i8 1, i8* %a.gep.5
+ ret i8* %res
+}
+
+define i8* @test_memset_chk_variable_size(i8* noalias %a, i64 %n.1, i64 %n.2) {
+; CHECK-LABEL: Function: test_memset_chk_variable_size
+; CHECK: Just Mod (MustAlias): Ptr: i8* %a <-> %res = tail call i8* @__memset_chk(i8* %a, i32 0, i64 %n.1, i64 %n.2)
+; CHECK-NEXT: Just Mod: Ptr: i8* %res <-> %res = tail call i8* @__memset_chk(i8* %a, i32 0, i64 %n.1, i64 %n.2)
+; CHECK-NEXT: Just Mod: Ptr: i8* %a.gep.1 <-> %res = tail call i8* @__memset_chk(i8* %a, i32 0, i64 %n.1, i64 %n.2)
+; CHECK-NEXT: Just Mod: Ptr: i8* %a.gep.5 <-> %res = tail call i8* @__memset_chk(i8* %a, i32 0, i64 %n.1, i64 %n.2)
+;
+entry:
+ %res = tail call i8* @__memset_chk(i8* %a, i32 0, i64 %n.1, i64 %n.2)
+ %a.gep.1 = getelementptr i8, i8* %a, i32 1
+ store i8 0, i8* %a.gep.1
+ %a.gep.5 = getelementptr i8, i8* %a, i32 5
+ store i8 1, i8* %a.gep.5
+ ret i8* %res
+}
More information about the llvm-commits
mailing list