Lines Matching +full:- +full:- +full:token
2 ; RUN: opt < %s -passes='instcombine<max-iterations=1>' -S | FileCheck %s
10 define void @test(ptr addrspace(1) %b) gc "statepoint-example" {
11 ; CHECK-LABEL: @test(
12 ; CHECK-NEXT: entry:
13 ; CHECK-NEXT: [[D:%.*]] = getelementptr i8, ptr addrspace(1) [[B:%.*]], i64 64
14 …-NEXT: [[SAFEPOINT_TOKEN:%.*]] = tail call token (i64, i32, ptr, i32, i32, ...) @llvm.experimen…
15 ; CHECK-NEXT: [[B_NEW_1:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[…
16 ; CHECK-NEXT: [[B_NEW_2:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[…
17 ; CHECK-NEXT: [[D_NEW_1:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[…
18 ; CHECK-NEXT: [[D_NEW_2:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[…
19 ; CHECK-NEXT: [[D_NEW_3:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[…
20 ; CHECK-NEXT: [[D_NEW_4:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[…
21 ; CHECK-NEXT: store i32 1, ptr addrspace(1) [[B_NEW_1]], align 4
22 ; CHECK-NEXT: store i32 1, ptr addrspace(1) [[B_NEW_2]], align 4
23 ; CHECK-NEXT: store i32 1, ptr addrspace(1) [[D_NEW_1]], align 4
24 ; CHECK-NEXT: store i32 1, ptr addrspace(1) [[D_NEW_2]], align 4
25 ; CHECK-NEXT: store i32 1, ptr addrspace(1) [[D_NEW_3]], align 4
26 ; CHECK-NEXT: store i32 1, ptr addrspace(1) [[D_NEW_4]], align 4
27 ; CHECK-NEXT: ret void
31 …token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 0, i32 0, ptr element…
32 …%b.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
33 …%b.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
34 …%d.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
35 …%d.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
36 …%d.new.3 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 1,…
37 …%d.new.4 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 1,…
47 define void @test_no_derived_use(ptr addrspace(1) %b) gc "statepoint-example" {
48 ; CHECK-LABEL: @test_no_derived_use(
49 ; CHECK-NEXT: entry:
50 …-NEXT: [[SAFEPOINT_TOKEN:%.*]] = tail call token (i64, i32, ptr, i32, i32, ...) @llvm.experimen…
51 ; CHECK-NEXT: [[B_NEW_1:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[…
52 ; CHECK-NEXT: store i32 1, ptr addrspace(1) [[B_NEW_1]], align 4
53 ; CHECK-NEXT: ret void
57 …token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 0, i32 0, ptr element…
58 …%b.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
59 …%b.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
60 …%d.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
61 …%d.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
62 …%d.new.3 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 1,…
63 …%d.new.4 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 1,…
68 define void @test_no_base_use(ptr addrspace(1) %b) gc "statepoint-example" {
69 ; CHECK-LABEL: @test_no_base_use(
70 ; CHECK-NEXT: entry:
71 ; CHECK-NEXT: [[D:%.*]] = getelementptr i8, ptr addrspace(1) [[B:%.*]], i64 64
72 …-NEXT: [[SAFEPOINT_TOKEN:%.*]] = tail call token (i64, i32, ptr, i32, i32, ...) @llvm.experimen…
73 ; CHECK-NEXT: [[D_NEW_1:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[…
74 ; CHECK-NEXT: store i32 1, ptr addrspace(1) [[D_NEW_1]], align 4
75 ; CHECK-NEXT: ret void
79 …token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 0, i32 0, ptr element…
80 …%b.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
81 …%b.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
82 …%d.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
83 …%d.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
84 …%d.new.3 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 1,…
85 …%d.new.4 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 1,…
90 define void @test_invoke(ptr addrspace(1) %b) gc "statepoint-example" personality ptr @fake_persona…
91 ; CHECK-LABEL: @test_invoke(
92 ; CHECK-NEXT: entry:
93 ; CHECK-NEXT: [[D:%.*]] = getelementptr i8, ptr addrspace(1) [[B:%.*]], i64 64
94 …-NEXT: [[SAFEPOINT_TOKEN:%.*]] = invoke token (i64, i32, ptr, i32, i32, ...) @llvm.experimental…
95 ; CHECK-NEXT: to label [[NORMAL_DEST:%.*]] unwind label [[UNWIND_DEST:%.*]]
97 ; CHECK-NEXT: [[B_NEW_1:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[…
98 ; CHECK-NEXT: [[B_NEW_2:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[…
99 ; CHECK-NEXT: [[D_NEW_1:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[…
100 ; CHECK-NEXT: [[D_NEW_2:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[…
101 ; CHECK-NEXT: [[D_NEW_3:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[…
102 ; CHECK-NEXT: [[D_NEW_4:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[…
103 ; CHECK-NEXT: store i32 1, ptr addrspace(1) [[B_NEW_1]], align 4
104 ; CHECK-NEXT: store i32 1, ptr addrspace(1) [[B_NEW_2]], align 4
105 ; CHECK-NEXT: store i32 1, ptr addrspace(1) [[D_NEW_1]], align 4
106 ; CHECK-NEXT: store i32 1, ptr addrspace(1) [[D_NEW_2]], align 4
107 ; CHECK-NEXT: store i32 1, ptr addrspace(1) [[D_NEW_3]], align 4
108 ; CHECK-NEXT: store i32 1, ptr addrspace(1) [[D_NEW_4]], align 4
109 ; CHECK-NEXT: ret void
111 ; CHECK-NEXT: [[LPAD:%.*]] = landingpad token
112 ; CHECK-NEXT: cleanup
113 ; CHECK-NEXT: [[LPB_NEW_1:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token …
114 ; CHECK-NEXT: [[LPB_NEW_2:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token …
115 ; CHECK-NEXT: [[LPD_NEW_1:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token …
116 ; CHECK-NEXT: [[LPD_NEW_2:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token …
117 ; CHECK-NEXT: [[LPD_NEW_3:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token …
118 ; CHECK-NEXT: [[LPD_NEW_4:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token …
119 ; CHECK-NEXT: store i32 2, ptr addrspace(1) [[LPB_NEW_1]], align 4
120 ; CHECK-NEXT: store i32 2, ptr addrspace(1) [[LPB_NEW_2]], align 4
121 ; CHECK-NEXT: store i32 2, ptr addrspace(1) [[LPD_NEW_1]], align 4
122 ; CHECK-NEXT: store i32 2, ptr addrspace(1) [[LPD_NEW_2]], align 4
123 ; CHECK-NEXT: store i32 2, ptr addrspace(1) [[LPD_NEW_3]], align 4
124 ; CHECK-NEXT: store i32 2, ptr addrspace(1) [[LPD_NEW_4]], align 4
125 ; CHECK-NEXT: ret void
129 …token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 0, i32 0, ptr element…
133 …%b.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
134 …%b.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
135 …%d.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
136 …%d.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
137 …%d.new.3 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 1,…
138 …%d.new.4 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 1,…
148 %lpad = landingpad token
150 %lpb.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 0, i32 0)
151 %lpb.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 0, i32 1)
152 %lpd.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 0, i32 2)
153 %lpd.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 0, i32 3)
154 %lpd.new.3 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 1, i32 2)
155 %lpd.new.4 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 1, i32 3)
165 define void @test_no_derived_use_invoke(ptr addrspace(1) %b) gc "statepoint-example" personality pt…
166 ; CHECK-LABEL: @test_no_derived_use_invoke(
167 ; CHECK-NEXT: entry:
168 …-NEXT: [[SAFEPOINT_TOKEN:%.*]] = invoke token (i64, i32, ptr, i32, i32, ...) @llvm.experimental…
169 ; CHECK-NEXT: to label [[NORMAL_DEST:%.*]] unwind label [[UNWIND_DEST:%.*]]
171 ; CHECK-NEXT: [[B_NEW_1:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[…
172 ; CHECK-NEXT: store i32 1, ptr addrspace(1) [[B_NEW_1]], align 4
173 ; CHECK-NEXT: ret void
175 ; CHECK-NEXT: [[LPAD:%.*]] = landingpad token
176 ; CHECK-NEXT: cleanup
177 ; CHECK-NEXT: [[LPB_NEW_1:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token …
178 ; CHECK-NEXT: store i32 2, ptr addrspace(1) [[LPB_NEW_1]], align 4
179 ; CHECK-NEXT: ret void
183 …token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 0, i32 0, ptr element…
187 …%b.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
188 …%b.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
189 …%d.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
190 …%d.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
191 …%d.new.3 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 1,…
192 …%d.new.4 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 1,…
197 %lpad = landingpad token
199 %lpb.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 0, i32 0)
200 %lpb.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 0, i32 1)
201 %lpd.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 0, i32 2)
202 %lpd.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 0, i32 3)
203 %lpd.new.3 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 1, i32 2)
204 %lpd.new.4 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 1, i32 3)
209 define void @test_no_base_use_invoke(ptr addrspace(1) %b) gc "statepoint-example" personality ptr @…
210 ; CHECK-LABEL: @test_no_base_use_invoke(
211 ; CHECK-NEXT: entry:
212 ; CHECK-NEXT: [[D:%.*]] = getelementptr i8, ptr addrspace(1) [[B:%.*]], i64 64
213 …-NEXT: [[SAFEPOINT_TOKEN:%.*]] = invoke token (i64, i32, ptr, i32, i32, ...) @llvm.experimental…
214 ; CHECK-NEXT: to label [[NORMAL_DEST:%.*]] unwind label [[UNWIND_DEST:%.*]]
216 ; CHECK-NEXT: [[D_NEW_1:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token [[…
217 ; CHECK-NEXT: store i32 1, ptr addrspace(1) [[D_NEW_1]], align 4
218 ; CHECK-NEXT: ret void
220 ; CHECK-NEXT: [[LPAD:%.*]] = landingpad token
221 ; CHECK-NEXT: cleanup
222 ; CHECK-NEXT: [[LPD_NEW_1:%.*]] = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token …
223 ; CHECK-NEXT: store i32 2, ptr addrspace(1) [[LPD_NEW_1]], align 4
224 ; CHECK-NEXT: ret void
228 …token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 0, i32 0, ptr element…
232 …%b.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
233 …%b.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
234 …%d.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
235 …%d.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 0,…
236 …%d.new.3 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 1,…
237 …%d.new.4 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %safepoint_token, i32 1,…
242 %lpad = landingpad token
244 %lpb.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 0, i32 0)
245 %lpb.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 0, i32 1)
246 %lpd.new.1 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 0, i32 2)
247 %lpd.new.2 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 0, i32 3)
248 %lpd.new.3 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 1, i32 2)
249 %lpd.new.4 = call ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %lpad, i32 1, i32 3)
254 declare token @llvm.experimental.gc.statepoint.p0(i64, i32, ptr, i32, i32, ...)
255 declare ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token, i32, i32)