[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / AMDGPU / amdgpu-alias-analysis.ll
blob25ec7af9d23184a02ededc6507a12df62f76c237
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) {
7   ret void
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) {
13   ret void
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) {
19   ret void
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) {
25   ret void
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) {
31   ret void
34 ; CHECK: MayAlias:      i8 addrspace(999)* %p0, i8* %p
35 define void @test_0_999(i8 addrspace(0)* %p, i8 addrspace(999)* %p0) {
36   ret void
39 ; CHECK: MayAlias:      i8 addrspace(999)* %p, i8* %p1
40 define void @test_999_0(i8 addrspace(999)* %p, i8 addrspace(0)* %p1) {
41   ret void
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) {
46   ret void
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) {
51   ret void
54 ; CHECK: NoAlias:  i8 addrspace(2)* %p, i8* %p1
55 define void @test_region_vs_flat(i8 addrspace(2)* %p, i8 addrspace(0)* %p1) {
56   ret void
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) {
61   ret void
64 ; CHECK: MayAlias: i8 addrspace(2)* %p, i8 addrspace(2)* %p1
65 define void @test_region(i8 addrspace(2)* %p, i8 addrspace(2)* %p1) {
66   ret void
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) {
71   ret void
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) {
76   ret void
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) {
81   ret void
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) {
86   ret void
89 ; CHECK: MayAlias:  i8 addrspace(7)* %p, i8* %p1
90 define void @test_7_0(i8 addrspace(7)* %p, i8 addrspace(0)* %p1) {
91   ret void
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) {
96   ret void
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) {
101   ret void
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) {
106   ret void
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) {
111   ret void
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) {
116   ret void
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) {
121   ret void
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) {
126   ret void