Lines Matching +full:- +full:y

1 ; RUN: opt < %s -aa-pipeline=basic-aa -passes=aa-eval -print-all-alias-modref-info -disable-output 2>&1 | FileCheck %s
3 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
7 ; CHECK-LABEL: test_simple
9 ; CHECK-DAG: MayAlias: %struct* %st, i32* %x
10 ; CHECK-DAG: MayAlias: %struct* %st, i32* %y
11 ; CHECK-DAG: MayAlias: %struct* %st, i32* %z
13 ; CHECK-DAG: NoAlias: i32* %x, i32* %y
14 ; CHECK-DAG: NoAlias: i32* %x, i32* %z
15 ; CHECK-DAG: NoAlias: i32* %y, i32* %z
17 ; CHECK-DAG: MayAlias: %struct* %st, %struct* %y
18 ; CHECK-DAG: MayAlias: i32* %x, %struct* %y
19 ; CHECK-DAG: MayAlias: i32* %x, i80* %y
21 ; CHECK-DAG: MayAlias: %struct* %st, i64* %y
22 ; CHECK-DAG: MayAlias: i64* %y, i32* %z
23 ; CHECK-DAG: NoAlias: i32* %x, i64* %y
25 ; CHECK-DAG: MustAlias: %struct* %y, i32* %y
26 ; CHECK-DAG: MustAlias: i64* %y, i32* %y
27 ; CHECK-DAG: MustAlias: i80* %y, i32* %y
31 %y = getelementptr inbounds %struct, ptr %st, i64 %j, i32 1
35 load i32, ptr %y
37 load %struct, ptr %y
38 load i80, ptr %y
39 load i64, ptr %y
44 ; CHECK-LABEL: test_not_inbounds
45 ; CHECK: MayAlias: i32* %x, i32* %y
48 %y = getelementptr %struct, ptr %st, i64 %j, i32 1
50 load i32, ptr %y
55 ; CHECK-LABEL: test_nusw
56 ; CHECK: NoAlias: i32* %x, i32* %y
59 %y = getelementptr nusw %struct, ptr %st, i64 %j, i32 1
61 load i32, ptr %y
65 ; CHECK-LABEL: test_in_array
67 ; CHECK-DAG: MayAlias: [1 x %struct]* %st, i32* %x
68 ; CHECK-DAG: MayAlias: [1 x %struct]* %st, i32* %y
69 ; CHECK-DAG: MayAlias: [1 x %struct]* %st, i32* %z
71 ; CHECK-DAG: NoAlias: i32* %x, i32* %y
72 ; CHECK-DAG: NoAlias: i32* %x, i32* %z
73 ; CHECK-DAG: NoAlias: i32* %y, i32* %z
75 ; CHECK-DAG: MayAlias: [1 x %struct]* %st, %struct* %y
76 ; CHECK-DAG: MayAlias: i32* %x, %struct* %y
77 ; CHECK-DAG: MayAlias: i32* %x, i80* %y
79 ; CHECK-DAG: MayAlias: [1 x %struct]* %st, i64* %y
80 ; CHECK-DAG: MayAlias: i64* %y, i32* %z
81 ; CHECK-DAG: NoAlias: i32* %x, i64* %y
83 ; CHECK-DAG: MustAlias: %struct* %y, i32* %y
84 ; CHECK-DAG: MustAlias: i64* %y, i32* %y
85 ; CHECK-DAG: MustAlias: i80* %y, i32* %y
89 %y = getelementptr inbounds [1 x %struct], ptr %st, i64 %j, i64 %j1, i32 1
93 load i32, ptr %y
95 load %struct, ptr %y
96 load i80, ptr %y
97 load i64, ptr %y
101 ; CHECK-LABEL: test_in_3d_array
103 ; CHECK-DAG: MayAlias: [1 x [1 x [1 x %struct]]]* %st, i32* %x
104 ; CHECK-DAG: MayAlias: [1 x [1 x [1 x %struct]]]* %st, i32* %y
105 ; CHECK-DAG: MayAlias: [1 x [1 x [1 x %struct]]]* %st, i32* %z
107 ; CHECK-DAG: NoAlias: i32* %x, i32* %y
108 ; CHECK-DAG: NoAlias: i32* %x, i32* %z
109 ; CHECK-DAG: NoAlias: i32* %y, i32* %z
111 ; CHECK-DAG: MayAlias: [1 x [1 x [1 x %struct]]]* %st, %struct* %y
112 ; CHECK-DAG: MayAlias: i32* %x, %struct* %y
113 ; CHECK-DAG: MayAlias: i32* %x, i80* %y
115 ; CHECK-DAG: MayAlias: [1 x [1 x [1 x %struct]]]* %st, i64* %y
116 ; CHECK-DAG: MayAlias: i64* %y, i32* %z
117 ; CHECK-DAG: NoAlias: i32* %x, i64* %y
119 ; CHECK-DAG: MustAlias: %struct* %y, i32* %y
120 ; CHECK-DAG: MustAlias: i64* %y, i32* %y
121 ; CHECK-DAG: MustAlias: i80* %y, i32* %y
125 %y = getelementptr inbounds [1 x [1 x [1 x %struct]]], ptr %st, i64 %j, i64 %j1, i64 %j2, i64 %j3, i32 1
129 load i32, ptr %y
131 load %struct, ptr %y
132 load i80, ptr %y
133 load i64, ptr %y
137 ; CHECK-LABEL: test_same_underlying_object_same_indices
139 ; CHECK-DAG: NoAlias: i32* %x, i32* %x2
140 ; CHECK-DAG: NoAlias: i32* %y, i32* %y2
141 ; CHECK-DAG: NoAlias: i32* %z, i32* %z2
143 ; CHECK-DAG: NoAlias: i32* %x, i32* %y2
144 ; CHECK-DAG: NoAlias: i32* %x, i32* %z2
146 ; CHECK-DAG: NoAlias: i32* %x2, i32* %y
147 ; CHECK-DAG: NoAlias: i32* %y, i32* %z2
149 ; CHECK-DAG: NoAlias: i32* %x2, i32* %z
150 ; CHECK-DAG: NoAlias: i32* %y2, i32* %z
158 %y = getelementptr inbounds %struct, ptr %st, i64 %j, i32 1
161 load i32, ptr %y
169 ; CHECK-LABEL: test_same_underlying_object_different_indices
171 ; CHECK-DAG: MayAlias: i32* %x, i32* %x2
172 ; CHECK-DAG: MayAlias: i32* %y, i32* %y2
173 ; CHECK-DAG: MayAlias: i32* %z, i32* %z2
175 ; CHECK-DAG: NoAlias: i32* %x, i32* %y2
176 ; CHECK-DAG: NoAlias: i32* %x, i32* %z2
178 ; CHECK-DAG: NoAlias: i32* %x2, i32* %y
179 ; CHECK-DAG: NoAlias: i32* %y, i32* %z2
181 ; CHECK-DAG: NoAlias: i32* %x2, i32* %z
182 ; CHECK-DAG: NoAlias: i32* %y2, i32* %z
190 %y = getelementptr inbounds %struct, ptr %st, i64 %j1, i32 1
193 load i32, ptr %y
204 ; CHECK-LABEL: test_struct_in_array
205 ; CHECK-DAG: MustAlias: i32* %x, i32* %y
208 %y = getelementptr inbounds %struct2, ptr %st, i32 0, i32 0, i32 1, i32 1
210 load i32, ptr %y
214 ; PR27418 - Treat GEP indices with the same value but different types the same
215 ; CHECK-LABEL: test_different_index_types