diff options
Diffstat (limited to 'llvm/test')
6 files changed, 25 insertions, 0 deletions
diff --git a/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-arg.ll b/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-arg.ll index b90ecab7df4..c42ec2b9dc4 100644 --- a/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-arg.ll +++ b/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-arg.ll @@ -11,6 +11,10 @@ define i32* @return_arg_callee(i32* %arg1, i32* %arg2) { ; CHECK: NoAlias: i32* %a, i32* %b ; CHECK: MayAlias: i32* %a, i32* %c ; CHECK: NoAlias: i32* %b, i32* %c + +; CHECK: NoModRef: Ptr: i32* %a <-> %c = call i32* @return_arg_callee(i32* %a, i32* %b) +; CHECK: NoModRef: Ptr: i32* %b <-> %c = call i32* @return_arg_callee(i32* %a, i32* %b) +; CHECK: NoModRef: Ptr: i32* %c <-> %c = call i32* @return_arg_callee(i32* %a, i32* %b) define void @test_return_arg() { %a = alloca i32, align 4 %b = alloca i32, align 4 diff --git a/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-deref-arg-multilevel.ll b/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-deref-arg-multilevel.ll index 3b129dc3017..97ce8bf55d6 100644 --- a/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-deref-arg-multilevel.ll +++ b/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-deref-arg-multilevel.ll @@ -28,6 +28,11 @@ define i32* @return_deref_arg_multilevel_callee(i32*** %arg1) { ; CHECK: MayAlias: i32* %c, i32* %lp ; CHECK: NoAlias: i32* %lp, i32** %lpp ; CHECK: MayAlias: i32* %lp, i32* %lpp_deref + +; CHECK: Just Ref: Ptr: i32** %p <-> %c = call i32* @return_deref_arg_multilevel_callee(i32*** %pp) +; CHECK: Just Ref: Ptr: i32*** %pp <-> %c = call i32* @return_deref_arg_multilevel_callee(i32*** %pp) +; CHECK: Just Ref: Ptr: i32** %lpp <-> %c = call i32* @return_deref_arg_multilevel_callee(i32*** %pp) + define void @test_return_deref_arg_multilevel() { %a = alloca i32, align 4 %b = alloca i32, align 4 diff --git a/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-deref-arg.ll b/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-deref-arg.ll index 13aab52f734..e4ddc56c13f 100644 --- a/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-deref-arg.ll +++ b/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-deref-arg.ll @@ -16,6 +16,12 @@ define i32* @return_deref_arg_callee(i32** %arg1) { ; CHECK: NoAlias: i32* %b, i32* %lp ; CHECK: NoAlias: i32* %lp, i32** %p ; CHECK: MayAlias: i32* %c, i32* %lp + +; CHECK: NoModRef: Ptr: i32* %a <-> %c = call i32* @return_deref_arg_callee(i32** %p) +; CHECK: NoModRef: Ptr: i32* %b <-> %c = call i32* @return_deref_arg_callee(i32** %p) +; CHECK: Just Ref: Ptr: i32** %p <-> %c = call i32* @return_deref_arg_callee(i32** %p) +; CHECK: NoModRef: Ptr: i32* %c <-> %c = call i32* @return_deref_arg_callee(i32** %p) +; CHECK: NoModRef: Ptr: i32* %lp <-> %c = call i32* @return_deref_arg_callee(i32** %p) define void @test_return_deref_arg() { %a = alloca i32, align 4 %b = alloca i32, align 4 diff --git a/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-ref-arg-multilevel.ll b/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-ref-arg-multilevel.ll index fab1de87b14..b64fdf30bc7 100644 --- a/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-ref-arg-multilevel.ll +++ b/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-ref-arg-multilevel.ll @@ -30,6 +30,9 @@ define i32*** @return_ref_arg_multilevel_callee(i32* %arg1) { ; CHECK: MayAlias: i32* %lb_deref, i32* %lp ; CHECK: NoAlias: i32* %lp, i32** %lpp ; CHECK: MayAlias: i32* %lp, i32* %lpp_deref + +; CHECK: Just Mod: Ptr: i32*** %b <-> %b = call i32*** @return_ref_arg_multilevel_callee(i32* %a) +; CHECK: Just Mod: Ptr: i32** %lb <-> %b = call i32*** @return_ref_arg_multilevel_callee(i32* %a) define void @test_return_ref_arg_multilevel() { %a = alloca i32, align 4 %p = alloca i32*, align 8 diff --git a/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-ref-arg.ll b/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-ref-arg.ll index 184aff1db18..c1938f063b2 100644 --- a/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-ref-arg.ll +++ b/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-ret-ref-arg.ll @@ -20,6 +20,8 @@ define i32** @return_ref_arg_callee(i32* %arg1) { ; CHECK: NoAlias: i32* %lp, i32** %p ; CHECK: NoAlias: i32* %lp, i32** %b ; CHECK: MayAlias: i32* %lb, i32* %lp + +; CHECK: Just Mod: Ptr: i32** %b <-> %b = call i32** @return_ref_arg_callee(i32* %a) define void @test_return_ref_arg() { %a = alloca i32, align 4 %p = alloca i32*, align 8 diff --git a/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-store-arg.ll b/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-store-arg.ll index 92e720aec14..0953d764c51 100644 --- a/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-store-arg.ll +++ b/llvm/test/Analysis/CFLAliasAnalysis/Andersen/interproc-store-arg.ll @@ -17,6 +17,11 @@ define void @store_arg_callee(i32** %arg1, i32* %arg2) { ; CHECK: NoAlias: i32* %a, i32* %lq ; CHECK: MayAlias: i32* %b, i32* %lq ; CHECK: MayAlias: i32* %lp, i32* %lq + +; CHECK: NoModRef: Ptr: i32* %a <-> call void @store_arg_callee(i32** %p, i32* %b) +; CHECK: Just Ref: Ptr: i32* %b <-> call void @store_arg_callee(i32** %p, i32* %b) +; CHECK: Just Mod: Ptr: i32** %p <-> call void @store_arg_callee(i32** %p, i32* %b) +; CHECK: NoModRef: Ptr: i32** %q <-> call void @store_arg_callee(i32** %p, i32* %b) define void @test_store_arg() { %a = alloca i32, align 4 %b = alloca i32, align 4 |