Lines Matching full:catch
52 ; } catch (...) {}
55 ; In this case, the outermost cleanup pad can be eliminated and the catch block
65 ; CHECK: cleanupret from %0 unwind label %catch.dispatch
66 ; CHECK: catch.dispatch:
67 ; CHECK: catchswitch within none [label %catch] unwind to caller
68 ; CHECK: catch:
85 cleanupret from %0 unwind label %catch.dispatch
87 catch.dispatch: ; preds = %ehcleanup
88 %cs1 = catchswitch within none [label %catch] unwind label %ehcleanup.1
90 catch: ; preds = %catch.dispatch
94 catchret.dest: ; preds = %catch
115 ; } catch (...) {}
124 ; CHECK: to label %try.cont unwind label %catch.dispatch
125 ; CHECK: catch.dispatch:
126 ; CHECK-NEXT: catchswitch within none [label %catch] unwind label %ehcleanup.1
127 ; CHECK: catch:
146 cleanupret from %0 unwind label %catch.dispatch
148 catch.dispatch: ; preds = %ehcleanup
149 %cs1 = catchswitch within none [label %catch] unwind label %ehcleanup.1
151 catch: ; preds = %catch.dispatch
155 catchret.dest: ; preds = %catch
176 ; } catch (...) {}
180 ; catch block should be converted to a call (that is, that is, exception
189 ; CHECK: to label %try.cont unwind label %catch.dispatch
190 ; CHECK: catch.dispatch:
191 ; CHECK: catchswitch within none [label %catch] unwind to caller
192 ; CHECK: catch:
205 to label %try.cont unwind label %catch.dispatch
207 catch.dispatch: ; preds = %invoke.cont
208 %cs1 = catchswitch within none [label %catch] unwind label %ehcleanup
210 catch: ; preds = %catch.dispatch
214 try.cont: ; preds = %catch, %invoke.cont
232 ; } catch (...) {
239 ; cleanup pad should be sunk into the catch dispatch block.
248 ; CHECK: catch.dispatch:
263 cleanupret from %0 unwind label %catch.dispatch
265 catch.dispatch: ; preds = %ehcleanup
266 %cs1 = catchswitch within none [label %catch] unwind to caller
268 catch: ; preds = %catch.dispatch
272 return: ; preds = %invoke.cont, %catch
273 %retval.0 = phi i32 [ %state.0, %catch ], [ 0, %invoke.cont ]
289 ; } catch (...) {
296 ; cleanup pad should be merged with the PHI node in the catch dispatch block.
307 ; CHECK: catch.dispatch:
313 to label %invoke.cont unwind label %catch.dispatch
326 cleanupret from %0 unwind label %catch.dispatch
328 catch.dispatch: ; preds = %ehcleanup, %entry
330 %cs1 = catchswitch within none [label %catch] unwind to caller
332 catch: ; preds = %catch.dispatch
336 return: ; preds = %invoke.cont.1, %catch
337 %retval.0 = phi i32 [ %state.1, %catch ], [ 0, %invoke.cont.1 ]
356 ; } catch (...) {
364 ; In this case, the PHI node that is sunk from ehcleanup to catch.dispatch
375 ; CHECK: catch.dispatch:
376 ; CHECK: %x = phi i32 [ 2, %invoke.cont ], [ 1, %entry ], [ %x, %catch.cont ]
390 cleanupret from %0 unwind label %catch.dispatch
392 catch.dispatch: ; preds = %ehcleanup, %catch.cont
393 %cs1 = catchswitch within none [label %catch] unwind to caller
395 catch: ; preds = %catch.dispatch
398 catchret from %1 to label %catch.cont
400 catch.cont: ; preds = %catch
402 to label %return unwind label %catch.dispatch
404 return: ; preds = %invoke.cont, %catch.cont
411 ; CHECK: catch.dispatch:
424 cleanupret from %cleanup.pad unwind label %catch.dispatch
426 catch.dispatch:
427 %catch.switch = catchswitch within none [label %catch] unwind to caller
429 catch:
430 %catch.pad = catchpad within %catch.switch [i8* null, i32 0, i8* null]
431 catchret from %catch.pad to label %try.cont