xref: /llvm-project/llvm/test/Analysis/GlobalsModRef/addrspacecast.ll (revision 47f0b6630c78ab52c2197ec5e1c2d13a6acffed1)
1; RUN: opt -aa-pipeline=globals-aa,basic-aa -passes='require<globals-aa>,aa-eval' -print-all-alias-modref-info -disable-output %s 2>&1 | FileCheck %s
2
3@g0 = internal addrspace(3) global i32 undef
4
5; CHECK-LABEL: test1
6; CHECK-DAG: NoAlias: i32* %gp, i32* %p
7; CHECK-DAG: NoAlias: i32* %p, i32 addrspace(3)* @g0
8; CHECK-DAG: MustAlias: i32* %gp, i32 addrspace(3)* @g0
9define i32 @test1(ptr %p) {
10  load i32, ptr addrspace(3) @g0
11  %gp = addrspacecast ptr addrspace(3) @g0 to ptr
12  store i32 0, ptr %gp
13  store i32 1, ptr %p
14  %v = load i32, ptr %gp
15  ret i32 %v
16}
17