• Home
  • Raw
  • Download

Lines Matching +full:p +full:- +full:finally

1 ; RUN: opt -S -objc-arc < %s | FileCheck %s
13 ; CHECK-LABEL: define void @test0(
15 ; CHECK: call void @objc_release(i8* %zipFile) [[NUW:#[0-9]+]], !clang.imprecise_release !0
20 ; CHECK-NEXT: }
41 ; CHECK-LABEL: define void @test1(
51 ; CHECK-NEXT: ret void
52 ; CHECK-NEXT: }
80 ; CHECK-NEXT: call i8* @objc_retain
81 ; CHECK-NOT: @objc_r
82 ; CHECK: finally.cont:
83 ; CHECK-NEXT: call void @objc_release
84 ; CHECK-NOT: @objc
85 ; CHECK: finally.rethrow:
86 ; CHECK-NOT: @objc
91 to label %invoke.cont unwind label %finally.rethrow, !clang.arc.no_objc_arc_exceptions !0
97 to label %finally.cont unwind label %finally.rethrow, !clang.arc.no_objc_arc_exceptions !0
99 finally.cont: ; preds = %invoke.cont
103 finally.rethrow: ; preds = %invoke.cont, %entry
111 ; CHECK-LABEL: define void @test3(
113 ; CHECK-NEXT: call void @objc_release(i8* %p) [[NUW]]
114 ; CHECK-NEXT: ret void
115 ; CHECK-NEXT: }
116 define void @test3(i8* %p, i1 %b) personality i8* bitcast (i32 (...)* @__objc_personality_v0 to i8*…
118 %0 = call i8* @objc_retain(i8* %p)
123 invoke void @use_pointer(i8* %p)
127 invoke void @use_pointer(i8* %p)
136 call void @objc_release(i8* %p)
140 ; Like test3, but with ARC-relevant exception handling.
142 ; CHECK-LABEL: define void @test4(
144 ; CHECK-NEXT: %r = landingpad { i8*, i32 }
145 ; CHECK-NEXT: cleanup
146 ; CHECK-NEXT: call void @objc_release(i8* %p) [[NUW]]
147 ; CHECK-NEXT: ret void
149 ; CHECK-NEXT: call void @objc_release(i8* %p) [[NUW]]
150 ; CHECK-NEXT: ret void
151 ; CHECK-NEXT: }
152 define void @test4(i8* %p, i1 %b) personality i8* bitcast (i32 (...)* @__objc_personality_v0 to i8*…
154 %0 = call i8* @objc_retain(i8* %p)
159 invoke void @use_pointer(i8* %p)
163 invoke void @use_pointer(i8* %p)
169 call void @objc_release(i8* %p)
173 call void @objc_release(i8* %p)
180 ; CHECK-LABEL: define void @test5(
200 ; CHECK-LABEL: define void @test6(