| ; RUN: opt -passes='simplifycfg<sink-common-insts>' -S %s | FileCheck %s | |
| declare void @personalityFn() | |
| define void @test(i1 %c) personality ptr @personalityFn { | |
| ; CHECK-LABEL: define void @test | |
| ; CHECK-LABEL: entry: | |
| ; CHECK-NEXT: br i1 %c, label %taken, label %untaken | |
| ; CHECK-LABEL: taken: | |
| ; CHECK-NEXT: invoke void (i64, i32, ptr, i32, ...) @llvm.experimental.patchpoint.void(i64 1, i32 0, ptr null, i32 0) | |
| ; CHECK-LABEL: untaken: | |
| ; CHECK-NEXT: invoke void (i64, i32, ptr, i32, ...) @llvm.experimental.patchpoint.void(i64 2, i32 0, ptr null, i32 0) | |
| ; CHECK-LABEL: end: | |
| ; CHECK-NEXT: ret void | |
| entry: | |
| br i1 %c, label %taken, label %untaken | |
| taken: | |
| invoke void (i64, i32, ptr, i32, ...) @llvm.experimental.patchpoint.void(i64 1, i32 0, ptr null, i32 0) | |
| to label %end unwind label %unwind | |
| untaken: | |
| invoke void (i64, i32, ptr, i32, ...) @llvm.experimental.patchpoint.void(i64 2, i32 0, ptr null, i32 0) | |
| to label %end unwind label %unwind | |
| end: | |
| ret void | |
| unwind: | |
| %0 = landingpad { ptr, i32 } | |
| cleanup | |
| br label %end | |
| } | |
| declare void @llvm.experimental.patchpoint.void(i64 immarg, i32 immarg, ptr, i32 immarg, ...) |