Lines Matching refs:T0
14 // CHECK: [[T0:%.*]] = bitcast [[BLOCK_T]]* [[BLOCK]] to i32 ()*
15 // CHECK-NEXT: [[T1:%.*]] = bitcast i32 ()* [[T0]] to i8*
33 // CHECK-NEXT: [[T0:%.*]] = load i8** [[X]],
34 // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retain(i8* [[T0]])
38 // CHECK-NEXT: [[T0:%.*]] = load i8** [[SLOTREL]]
39 // CHECK-NEXT: call void @objc_release(i8* [[T0]]) [[NUW]], !clang.imprecise_release
40 // CHECK-NEXT: [[T0:%.*]] = load i8** [[X]]
41 // CHECK-NEXT: call void @objc_release(i8* [[T0]]) [[NUW]], !clang.imprecise_release
47 // CHECK: [[T0:%.*]] = load i8**
48 // CHECK-NEXT: [[SRC:%.*]] = bitcast i8* [[T0]] to [[BLOCK_T]]*
49 // CHECK-NEXT: [[T0:%.*]] = load i8**
50 // CHECK-NEXT: [[DST:%.*]] = bitcast i8* [[T0]] to [[BLOCK_T]]*
51 // CHECK-NEXT: [[T0:%.*]] = getelementptr inbounds [[BLOCK_T]]* [[SRC]], i32 0, i32 5
52 // CHECK-NEXT: [[T1:%.*]] = load i8** [[T0]]
57 // CHECK: [[T0:%.*]] = load i8**
58 // CHECK-NEXT: [[T1:%.*]] = bitcast i8* [[T0]] to [[BLOCK_T]]*
88 // CHECK-NEXT: [[T0:%.*]] = load i8** [[TEMP]]
89 // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retain(i8* [[T0]])
95 // CHECK-NEXT: [[T0:%.*]] = load i8** [[STRONG]]
96 // CHECK-NEXT: call void @objc_release(i8* [[T0]])
114 // CHECK: [[T0:%.*]] = getelementptr inbounds [[BYREF_T]]* [[VAR]], i32 0, i32 2
116 // CHECK-NEXT: store i32 838860800, i32* [[T0]]
118 // CHECK-NEXT: [[T0:%.*]] = call i8* @test4_source()
119 // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T0]])
124 // CHECK: [[T0:%.*]] = bitcast [[BYREF_T]]* [[VAR]] to i8*
125 // CHECK-NEXT: store i8* [[T0]], i8**
127 // CHECK: [[T0:%.*]] = bitcast [[BYREF_T]]* [[VAR]] to i8*
128 // CHECK-NEXT: call void @_Block_object_dispose(i8* [[T0]], i32 8)
129 // CHECK-NEXT: [[T0:%.*]] = load i8** [[SLOT]]
130 // CHECK-NEXT: call void @objc_release(i8* [[T0]])
134 // CHECK: [[T0:%.*]] = getelementptr inbounds [[BYREF_T]]* {{%.*}}, i32 0, i32 6
139 // CHECK-NEXT: store i8* [[T2]], i8** [[T0]]
143 // CHECK: [[T0:%.*]] = getelementptr inbounds [[BYREF_T]]* {{%.*}}, i32 0, i32 6
144 // CHECK-NEXT: [[T1:%.*]] = load i8** [[T0]]
149 // CHECK-NEXT: [[T0:%.*]] = load i8** [[SLOT]], align 8
151 // CHECK-NEXT: call void @objc_release(i8* [[T0]])
170 // CHECK: [[T0:%.*]] = call i8* @test5_source()
171 // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T0]])
177 // CHECK-NEXT: [[T0:%.*]] = load i8** [[VAR]]
178 // CHECK-NEXT: store i8* [[T0]], i8** [[CAPTURE]]
179 // CHECK-NEXT: [[T0:%.*]] = bitcast [[BLOCK_T]]* [[BLOCK]] to
193 // CHECK: [[T0:%.*]] = getelementptr inbounds [[BYREF_T]]* [[VAR]], i32 0, i32 2
195 // CHECK-NEXT: store i32 1107296256, i32* [[T0]]
197 // CHECK-NEXT: [[T0:%.*]] = call i8* @test6_source()
198 // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T0]])
204 // CHECK: [[T0:%.*]] = bitcast [[BYREF_T]]* [[VAR]] to i8*
205 // CHECK-NEXT: store i8* [[T0]], i8**
207 // CHECK: [[T0:%.*]] = bitcast [[BYREF_T]]* [[VAR]] to i8*
208 // CHECK-NEXT: call void @_Block_object_dispose(i8* [[T0]], i32 8)
213 // CHECK: [[T0:%.*]] = getelementptr inbounds [[BYREF_T]]* {{%.*}}, i32 0, i32 6
217 // CHECK-NEXT: call void @objc_moveWeak(i8** [[T0]], i8** [[T1]])
220 // CHECK: [[T0:%.*]] = getelementptr inbounds [[BYREF_T]]* {{%.*}}, i32 0, i32 6
221 // CHECK-NEXT: call void @objc_destroyWeak(i8** [[T0]])
247 // CHECK: [[T0:%.*]] = call i8* @test7_source()
248 // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T0]])
254 // CHECK-NEXT: [[T0:%.*]] = call i8* @objc_loadWeakRetained(i8** [[VAR]])
255 // CHECK-NEXT: call i8* @objc_initWeak(i8** [[SLOT]], i8* [[T0]])
263 // CHECK-NEXT: [[T0:%.*]] = call i8* @objc_loadWeakRetained(i8** [[SLOT]])
264 // CHECK-NEXT: call void @test7_consume(i8* [[T0]])
265 // CHECK-NEXT: call void @objc_release(i8* [[T0]])
288 // CHECK: [[T0:%.*]] = getelementptr inbounds [[BLOCK_T]]* [[BLOCK]], i32 0, i32 5
293 // CHECK-NEXT: store [[TEST8]]* [[T4]], [[TEST8]]** [[T0]]
335 // CHECK: [[T0:%.*]] = getelementptr inbounds [[BYREF_T]]* [[BYREF]], i32 0, i32 6
336 // CHECK-NEXT: store void ()* null, void ()** [[T0]], align 8
339 // CHECK: [[T0:%.*]] = bitcast void ()* {{%.*}} to i8*
340 // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retainBlock(i8* [[T0]])
352 // CHECK-NEXT: [[T0:%.*]] = bitcast [[BYREF_T]]* [[BYREF]] to i8*
353 // CHECK-NEXT: call void @_Block_object_dispose(i8* [[T0]], i32 8)
372 // CHECK-NEXT: [[T0:%.*]] = load void ()** [[S2]], align 8
373 // CHECK-NEXT: [[T1:%.*]] = bitcast void ()* [[T0]] to i8*
380 // CHECK: [[T0:%.*]] = load i8** {{%.*}}
381 // CHECK-NEXT: [[T1:%.*]] = bitcast i8* [[T0]] to [[BYREF_T]]*
398 // CHECK: [[T0:%.*]] = getelementptr inbounds [[BYREF_T]]* [[BYREF]], i32 0, i32 6
399 // CHECK-NEXT: store void ()* null, void ()** [[T0]], align 8
404 // CHECK: [[T0:%.*]] = bitcast void ()* {{%.*}} to i8*
405 // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retainBlock(i8* [[T0]])
416 // CHECK-NEXT: [[T0:%.*]] = bitcast [[BYREF_T]]* [[BYREF]] to i8*
417 // CHECK-NEXT: call void @_Block_object_dispose(i8* [[T0]], i32 8)
433 // CHECK: [[T0:%.*]] = bitcast [[BLOCK_T]]* [[BLOCK]] to void ()*
434 // CHECK-NEXT: [[T1:%.*]] = bitcast void ()* [[T0]] to i8*
451 // CHECK: [[T0:%.*]] = bitcast [[BLOCK_T]]* [[BLOCK]] to void ()*
452 // CHECK-NEXT: [[T1:%.*]] = bitcast void ()* [[T0]] to i8*
495 // CHECK-NEXT: [[T0:%.*]] = call i8* @objc_retain(i8* {{%.*}})
496 // CHECK-NEXT: store i8* [[T0]], i8** [[X]], align 8
498 // CHECK-NEXT: [[T0:%.*]] = load i8** [[X]], align 8
499 // CHECK-NEXT: [[T1:%.*]] = icmp ne i8* [[T0]], null
505 // CHECK-NEXT: [[T0:%.*]] = load i8** [[X]], align 8
506 // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retain(i8* [[T0]])
512 // CHECK: [[T0:%.*]] = phi void ()*
513 // CHECK-NEXT: [[T1:%.*]] = bitcast void ()* [[T0]] to i8*
517 // CHECK-NEXT: [[T0:%.*]] = load void ()** [[B]], align 8
518 // CHECK-NEXT: call void @test13_use(void ()* [[T0]])
519 // CHECK-NEXT: [[T0:%.*]] = load void ()** [[B]]
520 // CHECK-NEXT: [[T1:%.*]] = bitcast void ()* [[T0]] to i8*
523 // CHECK-NEXT: [[T0:%.*]] = load i1* [[CLEANUP_ACTIVE]]
524 // CHECK-NEXT: br i1 [[T0]]
525 // CHECK: [[T0:%.*]] = load i8** [[CLEANUP_ADDR]]
526 // CHECK-NEXT: call void @objc_release(i8* [[T0]])
529 // CHECK: [[T0:%.*]] = load i8** [[X]]
530 // CHECK-NEXT: call void @objc_release(i8* [[T0]])
575 // CHECK: [[T0:%.*]] = call i8* @objc_retain(i8*
576 // CHECK-NEXT: store i8* [[T0]], i8** [[SELF]], align
582 // CHECK: [[T0:%.*]] = getelementptr inbounds [[BLOCK]]* [[B0]], i32 0, i32 5
585 // CHECK-NEXT: store i8* [[T2]], i8** [[T0]],
586 // CHECK-NEXT: [[T0:%.*]] = bitcast [[BLOCK]]* [[B0]] to i8* ()*
587 // CHECK-NEXT: [[T1:%.*]] = bitcast i8* ()* [[T0]] to i8*
591 // CHECK-NEXT: [[T0:%.*]] = load i8** [[DESTROY]]
592 // CHECK-NEXT: call void @objc_release(i8* [[T0]])
600 // CHECK: [[T0:%.*]] = getelementptr inbounds [[BLOCK]]* [[B1]], i32 0, i32 5
603 // CHECK-NEXT: store i8* [[T2]], i8** [[T0]],
604 // CHECK-NEXT: [[T0:%.*]] = bitcast [[BLOCK]]* [[B1]] to i8* ()*
605 // CHECK-NEXT: [[T1:%.*]] = bitcast i8* ()* [[T0]] to i8*
609 // CHECK-NEXT: [[T0:%.*]] = load i8** [[DESTROY]]
610 // CHECK-NEXT: call void @objc_release(i8* [[T0]])
622 // CHECK-UNOPT-NEXT: [[T0:%.*]] = load i8** [[X]],
623 // CHECK-UNOPT-NEXT: [[T1:%.*]] = call i8* @objc_retain(i8* [[T0]])
634 // CHECK-UNOPT: [[T0:%.*]] = load i8**
635 // CHECK-UNOPT-NEXT: [[SRC:%.*]] = bitcast i8* [[T0]] to [[BLOCK_T]]*
636 // CHECK-UNOPT-NEXT: [[T0:%.*]] = load i8**
637 // CHECK-UNOPT-NEXT: [[DST:%.*]] = bitcast i8* [[T0]] to [[BLOCK_T]]*
638 // CHECK-UNOPT-NEXT: [[T0:%.*]] = getelementptr inbounds [[BLOCK_T]]* [[SRC]], i32 0, i32 5
640 // CHECK-UNOPT-NEXT: [[T2:%.*]] = load i8** [[T0]]
646 // CHECK-UNOPT: [[T0:%.*]] = load i8**
647 // CHECK-UNOPT-NEXT: [[T1:%.*]] = bitcast i8* [[T0]] to [[BLOCK_T]]*
660 // CHECK-NEXT: [[T0:%.*]] = bitcast void ()* {{%.*}} to i8*
661 // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retain(i8* [[T0]])
668 // CHECK-NEXT: [[T0:%.*]] = load void ()** [[B]],
669 // CHECK-NEXT: [[T1:%.*]] = bitcast void ()* [[T0]] to i8*
674 // CHECK-NEXT: [[T0:%.*]] = bitcast [[BLOCK_T]]* [[BLOCK]] to void (i32)*
675 // CHECK-NEXT: call void @test19_sink(void (i32)* [[T0]])
680 // CHECK-NEXT: [[T0:%.*]] = load void ()** [[SLOTREL]]
681 // CHECK-NEXT: [[T1:%.*]] = bitcast void ()* [[T0]] to i8*
685 // CHECK-NEXT: [[T0:%.*]] = load void ()** [[B]]
686 // CHECK-NEXT: [[T1:%.*]] = bitcast void ()* [[T0]] to i8*