xref: /llvm-project/llvm/test/Transforms/LoopDeletion/loop-with-ehpad-not-executed.ll (revision a0b911745494e3c2f53a27f23c536314818ce0b1)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4
2; RUN: opt %s -passes=loop-deletion -S | FileCheck %s
3
4define void @wombat() personality ptr null {
5; CHECK-LABEL: define void @wombat() personality ptr null {
6; CHECK-NEXT:  bb:
7; CHECK-NEXT:    br i1 false, label [[BB1:%.*]], label [[BB4:%.*]]
8; CHECK:       bb1:
9; CHECK-NEXT:    br label [[BB2:%.*]]
10; CHECK:       bb2:
11; CHECK-NEXT:    [[INVOKE:%.*]] = invoke double null()
12; CHECK-NEXT:            to label [[BB2]] unwind label [[BB3:%.*]]
13; CHECK:       bb3:
14; CHECK-NEXT:    [[LANDINGPAD:%.*]] = landingpad { ptr, i32 }
15; CHECK-NEXT:            cleanup
16; CHECK-NEXT:    ret void
17; CHECK:       bb4:
18; CHECK-NEXT:    ret void
19;
20bb:
21  br i1 false, label %bb1, label %bb4
22
23bb1:                                              ; preds = %bb
24  br label %bb2
25
26bb2:                                              ; preds = %bb1, %bb2
27  %invoke = invoke double null()
28  to label %bb2 unwind label %bb3
29
30bb3:                                              ; preds = %bb2
31  %landingpad = landingpad { ptr, i32 }
32  cleanup
33  ret void
34
35bb4:                                              ; preds = %bb
36  ret void
37}
38