1 ; RUN: opt -mtriple=amdgcn-- -aa-eval -amdgpu-aa -amdgpu-aa-wrapper -disable-basicaa -print-all-alias-modref-info -disable-output < %s 2>&1 | FileCheck %s
2 ; RUN: opt -mtriple=r600-- -aa-eval -amdgpu-aa -amdgpu-aa-wrapper -disable-basicaa -print-all-alias-modref-info -disable-output < %s 2>&1 | FileCheck %s
4 ; CHECK: NoAlias: i8 addrspace(1)* %p1, i8 addrspace(5)* %p
6 define void @test(i8 addrspace(5)* %p, i8 addrspace(1)* %p1) {
10 ; CHECK: MayAlias: i8 addrspace(1)* %p1, i8 addrspace(4)* %p
12 define void @test_constant_vs_global(i8 addrspace(4)* %p, i8 addrspace(1)* %p1) {
16 ; CHECK: MayAlias: i8 addrspace(1)* %p, i8 addrspace(4)* %p1
18 define void @test_global_vs_constant(i8 addrspace(1)* %p, i8 addrspace(4)* %p1) {
22 ; CHECK: MayAlias: i8 addrspace(1)* %p1, i8 addrspace(6)* %p
24 define void @test_constant_32bit_vs_global(i8 addrspace(6)* %p, i8 addrspace(1)* %p1) {
28 ; CHECK: MayAlias: i8 addrspace(4)* %p1, i8 addrspace(6)* %p
30 define void @test_constant_32bit_vs_constant(i8 addrspace(6)* %p, i8 addrspace(4)* %p1) {
34 ; CHECK: MayAlias: i8 addrspace(999)* %p0, i8* %p
35 define void @test_0_999(i8 addrspace(0)* %p, i8 addrspace(999)* %p0) {
39 ; CHECK: MayAlias: i8 addrspace(999)* %p, i8* %p1
40 define void @test_999_0(i8 addrspace(999)* %p, i8 addrspace(0)* %p1) {
44 ; CHECK: MayAlias: i8 addrspace(1)* %p, i8 addrspace(999)* %p1
45 define void @test_1_999(i8 addrspace(1)* %p, i8 addrspace(999)* %p1) {
49 ; CHECK: MayAlias: i8 addrspace(1)* %p1, i8 addrspace(999)* %p
50 define void @test_999_1(i8 addrspace(999)* %p, i8 addrspace(1)* %p1) {
54 ; CHECK: NoAlias: i8 addrspace(2)* %p, i8* %p1
55 define void @test_region_vs_flat(i8 addrspace(2)* %p, i8 addrspace(0)* %p1) {
59 ; CHECK: NoAlias: i8 addrspace(1)* %p1, i8 addrspace(2)* %p
60 define void @test_region_vs_global(i8 addrspace(2)* %p, i8 addrspace(1)* %p1) {
64 ; CHECK: MayAlias: i8 addrspace(2)* %p, i8 addrspace(2)* %p1
65 define void @test_region(i8 addrspace(2)* %p, i8 addrspace(2)* %p1) {
69 ; CHECK: NoAlias: i8 addrspace(2)* %p, i8 addrspace(3)* %p1
70 define void @test_region_vs_group(i8 addrspace(2)* %p, i8 addrspace(3)* %p1) {
74 ; CHECK: NoAlias: i8 addrspace(2)* %p, i8 addrspace(4)* %p1
75 define void @test_region_vs_constant(i8 addrspace(2)* %p, i8 addrspace(4)* %p1) {
79 ; CHECK: NoAlias: i8 addrspace(2)* %p, i8 addrspace(5)* %p1
80 define void @test_region_vs_private(i8 addrspace(2)* %p, i8 addrspace(5)* %p1) {
84 ; CHECK: NoAlias: i8 addrspace(2)* %p, i8 addrspace(6)* %p1
85 define void @test_region_vs_const32(i8 addrspace(2)* %p, i8 addrspace(6)* %p1) {
89 ; CHECK: MayAlias: i8 addrspace(7)* %p, i8* %p1
90 define void @test_7_0(i8 addrspace(7)* %p, i8 addrspace(0)* %p1) {
94 ; CHECK: MayAlias: i8 addrspace(1)* %p1, i8 addrspace(7)* %p
95 define void @test_7_1(i8 addrspace(7)* %p, i8 addrspace(1)* %p1) {
99 ; CHECK: NoAlias: i8 addrspace(2)* %p1, i8 addrspace(7)* %p
100 define void @test_7_2(i8 addrspace(7)* %p, i8 addrspace(2)* %p1) {
104 ; CHECK: NoAlias: i8 addrspace(3)* %p1, i8 addrspace(7)* %p
105 define void @test_7_3(i8 addrspace(7)* %p, i8 addrspace(3)* %p1) {
109 ; CHECK: MayAlias: i8 addrspace(4)* %p1, i8 addrspace(7)* %p
110 define void @test_7_4(i8 addrspace(7)* %p, i8 addrspace(4)* %p1) {
114 ; CHECK: NoAlias: i8 addrspace(5)* %p1, i8 addrspace(7)* %p
115 define void @test_7_5(i8 addrspace(7)* %p, i8 addrspace(5)* %p1) {
119 ; CHECK: MayAlias: i8 addrspace(6)* %p1, i8 addrspace(7)* %p
120 define void @test_7_6(i8 addrspace(7)* %p, i8 addrspace(6)* %p1) {
124 ; CHECK: MayAlias: i8 addrspace(7)* %p, i8 addrspace(7)* %p1
125 define void @test_7_7(i8 addrspace(7)* %p, i8 addrspace(7)* %p1) {