xref: /llvm-project/llvm/test/Analysis/GlobalsModRef/addrspacecast.ll (revision 47f0b6630c78ab52c2197ec5e1c2d13a6acffed1)
1b81d5baaSArthur Eubanks; 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
2fa5d31f8SMichael Liao
3fa5d31f8SMichael Liao@g0 = internal addrspace(3) global i32 undef
4fa5d31f8SMichael Liao
5fa5d31f8SMichael Liao; CHECK-LABEL: test1
6fa5d31f8SMichael Liao; CHECK-DAG: NoAlias: i32* %gp, i32* %p
757d57b1aSNikita Popov; CHECK-DAG: NoAlias: i32* %p, i32 addrspace(3)* @g0
857d57b1aSNikita Popov; CHECK-DAG: MustAlias: i32* %gp, i32 addrspace(3)* @g0
9*47f0b663SNikita Popovdefine i32 @test1(ptr %p) {
10*47f0b663SNikita Popov  load i32, ptr addrspace(3) @g0
11*47f0b663SNikita Popov  %gp = addrspacecast ptr addrspace(3) @g0 to ptr
12*47f0b663SNikita Popov  store i32 0, ptr %gp
13*47f0b663SNikita Popov  store i32 1, ptr %p
14*47f0b663SNikita Popov  %v = load i32, ptr %gp
15fa5d31f8SMichael Liao  ret i32 %v
16fa5d31f8SMichael Liao}
17