Lines Matching full:catch

19 ; Simple test with a try-catch
25 ; } catch (int) {
33 ; CHECK: catch $[[EXNREF:[0-9]+]]=
54 to label %try.cont unwind label %catch.dispatch
56 catch.dispatch: ; preds = %entry
57 %0 = catchswitch within none [label %catch.start] unwind to caller
59 catch.start: ; preds = %catch.dispatch
65 br i1 %matches, label %catch, label %rethrow
67 catch: ; preds = %catch.start
72 rethrow: ; preds = %catch.start
73 call void @llvm.wasm.rethrow.in.catch() [ "funclet"(token %1) ]
76 try.cont: ; preds = %catch, %entry
94 ; CHECK: catch $[[EXNREF:[0-9]+]]=
115 ; Calling a function that may throw within a 'catch (...)' generates a
116 ; temrinatepad, because __cxa_end_catch() also can throw within 'catch (...)'.
122 ; } catch (...) {
130 ; CHECK: catch
134 ; CHECK: catch
137 ; CHECK: catch
154 to label %try.cont unwind label %catch.dispatch
156 catch.dispatch: ; preds = %entry
157 %0 = catchswitch within none [label %catch.start] unwind to caller
159 catch.start: ; preds = %catch.dispatch
167 invoke.cont1: ; preds = %catch.start
174 ehcleanup: ; preds = %catch.start
190 ; They should not be treated as funclets; BBs starting with a catch instruction
193 ; instructions after a catch instruction.
201 ; } catch (int) {
209 ; CHECK: catch
218 ; CHECK: catch
236 to label %try.cont unwind label %catch.dispatch
238 catch.dispatch: ; preds = %entry
239 %0 = catchswitch within none [label %catch.start] unwind to caller
241 catch.start: ; preds = %catch.dispatch
247 br i1 %matches, label %catch, label %rethrow
249 catch: ; preds = %catch.start
256 invoke.cont1: ; preds = %catch
260 rethrow: ; preds = %catch.start
261 call void @llvm.wasm.rethrow.in.catch() [ "funclet"(token %1) ]
267 ehcleanup: ; preds = %catch
280 ; } catch (...) {
287 ; CHECK: catch
296 to label %try.cont unwind label %catch.dispatch
298 catch.dispatch: ; preds = %entry
299 %0 = catchswitch within none [label %catch.start] unwind to caller
301 catch.start: ; preds = %catch.dispatch
309 try.cont: ; preds = %catch.start, %entry
318 to label %try.cont unwind label %catch.dispatch
320 catch.dispatch: ; preds = %entry
321 %0 = catchswitch within none [label %catch.start] unwind to caller
323 catch.start: ; preds = %catch.dispatch
329 try.cont: ; preds = %catch.start, %entry
346 to label %ehcleanupret unwind label %catch.dispatch
348 catch.dispatch: ; preds = %ehcleanup
349 %1 = catchswitch within %0 [label %catch.start] unwind label %ehcleanup.1
351 catch.start: ; preds = %catch.dispatch
357 ehcleanup.1: ; preds = %catch.dispatch
361 ehcleanupret: ; preds = %catch.start, %ehcleanup
371 declare void @llvm.wasm.rethrow.in.catch()