Lines Matching full:next
23 // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T0]])
24 // CHECK-NEXT: [[T2:%.*]] = load i8**, i8*** {{%.*}}, align 8
25 // CHECK-NEXT: [[T3:%.*]] = call i8* @objc_storeWeak(i8** [[T2]], i8* [[T1]])
26 // CHECK-NEXT: [[T4:%.*]] = call i8* @objc_retain(i8* [[T3]])
27 // CHECK-NEXT: store i8* [[T4]], i8**
28 // CHECK-NEXT: call void @objc_release(i8* [[T1]])
32 // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T0]])
33 // CHECK-NEXT: [[T2:%.*]] = load i8**, i8*** {{%.*}}, align 8
34 // CHECK-NEXT: [[T3:%.*]] = call i8* @objc_storeWeak(i8** [[T2]], i8* [[T1]])
35 // CHECK-NEXT: [[T4:%.*]] = call i8* @objc_loadWeakRetained(i8** [[T2]])
36 // CHECK-NEXT: store i8* [[T4]], i8**
37 // CHECK-NEXT: call void @objc_release(i8* [[T1]])
47 // CHECK-NEXT: load
48 // CHECK-NEXT: bitcast
49 // CHECK-NEXT: ret i8*
60 // CHECK-NEXT: [[STRONG:%.*]] = alloca i8*
61 // CHECK-NEXT: [[WEAK:%.*]] = alloca i8*
62 // CHECK-NEXT: [[TEMP1:%.*]] = alloca i8*
63 // CHECK-NEXT: [[TEMP2:%.*]] = alloca i8*
64 // CHECK-NEXT: [[CONDCLEANUPSAVE:%.*]] = alloca i8*
65 // CHECK-NEXT: [[CONDCLEANUP:%.*]] = alloca i1
66 // CHECK-NEXT: store i32
67 // CHECK-NEXT: [[STRONGP:%.*]] = bitcast i8** [[STRONG]] to i8*
68 // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[STRONGP]])
69 // CHECK-NEXT: store i8* null, i8** [[STRONG]]
70 // CHECK-NEXT: [[WEAKP:%.*]] = bitcast i8** [[WEAK]] to i8*
71 // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[WEAKP]])
72 // CHECK-NEXT: call i8* @objc_initWeak(i8** [[WEAK]], i8* null)
74 // CHECK-NEXT: [[T0:%.*]] = load i32, i32* [[COND]]
75 // CHECK-NEXT: [[T1:%.*]] = icmp ne i32 [[T0]], 0
77 // CHECK-NEXT: [[T0:%.*]] = icmp eq i8** [[ARG]], null
78 // CHECK-NEXT: [[T1:%.*]] = select i1 [[T0]], i8** null, i8** [[TEMP1]]
79 // CHECK-NEXT: br i1 [[T0]],
81 // CHECK-NEXT: store i8* [[T0]], i8** [[TEMP1]]
82 // CHECK-NEXT: br label
85 // CHECK-NEXT: [[T0:%.*]] = icmp eq i8** [[ARG]], null
86 // CHECK-NEXT: br i1 [[T0]],
88 // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retain(i8* [[T0]])
89 // CHECK-NEXT: call void (...) @clang.arc.use(i8* [[W0]])
90 // CHECK-NEXT: [[T2:%.*]] = load i8*, i8** [[ARG]]
91 // CHECK-NEXT: store i8* [[T1]], i8** [[ARG]]
92 // CHECK-NEXT: call void @objc_release(i8* [[T2]])
93 // CHECK-NEXT: br label
96 // CHECK-NEXT: [[T1:%.*]] = icmp ne i32 [[T0]], 0
98 // CHECK-NEXT: [[T0:%.*]] = icmp eq i8** [[ARG]], null
99 // CHECK-NEXT: [[T1:%.*]] = select i1 [[T0]], i8** null, i8** [[TEMP2]]
100 // CHECK-NEXT: store i1 false, i1* [[CONDCLEANUP]]
101 // CHECK-NEXT: br i1 [[T0]],
103 // CHECK-NEXT: store i8* [[T0]], i8** [[CONDCLEANUPSAVE]]
104 // CHECK-NEXT: store i1 true, i1* [[CONDCLEANUP]]
105 // CHECK-NEXT: store i8* [[T0]], i8** [[TEMP2]]
106 // CHECK-NEXT: br label
108 // CHECK-NEXT: [[T0:%.*]] = icmp eq i8** [[ARG]], null
109 // CHECK-NEXT: br i1 [[T0]],
111 // CHECK-NEXT: call i8* @objc_storeWeak(i8** [[ARG]], i8* [[T0]])
112 // CHECK-NEXT: br label
160 // CHECK-NEXT: ret void
198 // CHECK-NEXT: ret void
226 // CHECK-NEXT: [[T1:%.*]] = bitcast [[NSARRAY]]* [[T0]] to i8*
227 // CHECK-NEXT: [[T2:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T1]])
228 // CHECK-NEXT: [[COLL:%.*]] = bitcast i8* [[T2]] to [[NSARRAY]]*
231 // CHECK-NEXT: load i8*, i8** @OBJC_SELECTOR_REFERENCES_
232 // CHECK-NEXT: [[T0:%.*]] = bitcast [[NSARRAY]]* [[COLL]] to i8*
233 // CHECK-NEXT: @objc_msgSend
237 // CHECK-NEXT: @objc_enumerationMutation
239 // This bitcast is for the 'next' message send.
241 // CHECK-NEXT: @objc_msgSend
245 // CHECK-NEXT: call void @objc_release(i8* [[T0]])
254 // CHECK-NEXT: bitcast
255 // CHECK-NEXT: call i8* @objc_retainAutoreleasedReturnValue
256 // CHECK-NEXT: bitcast
257 // CHECK-NEXT: bitcast
258 // CHECK-NEXT: call void @objc_release
259 // CHECK-NEXT: ret void
302 // CHECK-NEXT: ret i8*
317 // CHECK-NEXT: [[TEMP:%.*]] = alloca i8*
318 // CHECK-NEXT: [[XP:%.*]] = bitcast i8** [[X]] to i8*
319 // CHECK-NEXT: call void @llvm.lifetime.start(i64 8, i8* [[XP]])
320 // CHECK-NEXT: store i8* null, i8** [[X]]
322 // CHECK-NEXT: store i8* [[T0]], i8** [[TEMP]]
324 // CHECK-NEXT: [[T0:%.*]] = load i8*, i8** [[TEMP]]
325 // CHECK-NEXT: call i8* @objc_retain(i8* [[T0]])
335 // CHECK-NEXT: call void @objc_moveWeak(i8** [[Y]], i8** [[T0]])
336 // CHECK-NEXT: call void @objc_destroyWeak(i8** [[Y]])