Home | History | Annotate | Download | only in CodeGenObjCXX

Lines Matching full:next

23   // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T0]])
24 // CHECK-NEXT: [[T2:%.*]] = load 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*** {{%.*}}, 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: store i8* null, i8** [[STRONG]]
68 // CHECK-NEXT: call i8* @objc_initWeak(i8** [[WEAK]], i8* null)
70 // CHECK-NEXT: [[T0:%.*]] = load i32* [[COND]]
71 // CHECK-NEXT: [[T1:%.*]] = icmp ne i32 [[T0]], 0
73 // CHECK-NEXT: [[T0:%.*]] = icmp eq i8** [[ARG]], null
74 // CHECK-NEXT: [[T1:%.*]] = select i1 [[T0]], i8** null, i8** [[TEMP1]]
75 // CHECK-NEXT: br i1 [[T0]],
77 // CHECK-NEXT: store i8* [[T0]], i8** [[TEMP1]]
78 // CHECK-NEXT: br label
81 // CHECK-NEXT: [[T0:%.*]] = icmp eq i8** [[ARG]], null
82 // CHECK-NEXT: br i1 [[T0]],
84 // CHECK-NEXT: [[T1:%.*]] = call i8* @objc_retain(i8* [[T0]])
85 // CHECK-NEXT: call void (...)* @clang.arc.use(i8* [[W0]])
86 // CHECK-NEXT: [[T2:%.*]] = load i8** [[ARG]]
87 // CHECK-NEXT: store i8* [[T1]], i8** [[ARG]]
88 // CHECK-NEXT: call void @objc_release(i8* [[T2]])
89 // CHECK-NEXT: br label
92 // CHECK-NEXT: [[T1:%.*]] = icmp ne i32 [[T0]], 0
94 // CHECK-NEXT: [[T0:%.*]] = icmp eq i8** [[ARG]], null
95 // CHECK-NEXT: [[T1:%.*]] = select i1 [[T0]], i8** null, i8** [[TEMP2]]
96 // CHECK-NEXT: store i1 false, i1* [[CONDCLEANUP]]
97 // CHECK-NEXT: br i1 [[T0]],
99 // CHECK-NEXT: store i8* [[T0]], i8** [[CONDCLEANUPSAVE]]
100 // CHECK-NEXT: store i1 true, i1* [[CONDCLEANUP]]
101 // CHECK-NEXT: store i8* [[T0]], i8** [[TEMP2]]
102 // CHECK-NEXT: br label
104 // CHECK-NEXT: [[T0:%.*]] = icmp eq i8** [[ARG]], null
105 // CHECK-NEXT: br i1 [[T0]],
107 // CHECK-NEXT: call i8* @objc_storeWeak(i8** [[ARG]], i8* [[T0]])
108 // CHECK-NEXT: br label
146 // CHECK-NEXT: ret void
173 // CHECK-NEXT: ret void
201 // CHECK-NEXT: [[T1:%.*]] = bitcast [[NSARRAY]]* [[T0]] to i8*
202 // CHECK-NEXT: [[T2:%.*]] = call i8* @objc_retainAutoreleasedReturnValue(i8* [[T1]])
203 // CHECK-NEXT: [[COLL:%.*]] = bitcast i8* [[T2]] to [[NSARRAY]]*
206 // CHECK-NEXT: load i8** @"\01L_OBJC_SELECTOR_REFERENCES_
207 // CHECK-NEXT: [[T0:%.*]] = bitcast [[NSARRAY]]* [[COLL]] to i8*
208 // CHECK-NEXT: @objc_msgSend
212 // CHECK-NEXT: @objc_enumerationMutation
214 // This bitcast is for the 'next' message send.
216 // CHECK-NEXT: @objc_msgSend
220 // CHECK-NEXT: call void @objc_release(i8* [[T0]])
229 // CHECK-NEXT: bitcast
230 // CHECK-NEXT: call i8* @objc_retainAutoreleasedReturnValue
231 // CHECK-NEXT: bitcast
232 // CHECK-NEXT: bitcast
233 // CHECK-NEXT: call void @objc_release
234 // CHECK-NEXT: ret void
277 // CHECK-NEXT: ret i8*
292 // CHECK-NEXT: [[TEMP:%.*]] = alloca i8*
293 // CHECK-NEXT: store i8* null, i8** [[X]]
295 // CHECK-NEXT: store i8* [[T0]], i8** [[TEMP]]
297 // CHECK-NEXT: [[T0:%.*]] = load i8** [[TEMP]]
298 // CHECK-NEXT: call i8* @objc_retain(i8* [[T0]])