Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / DeadArgElim / funclet.ll
blob3115c8b341415f0601b83d6659ac57a422090fcd
1 ; RUN: opt -S -passes=deadargelim < %s | FileCheck %s
2 target triple = "x86_64-pc-windows-msvc"
4 define internal void @callee(ptr) {
5 entry:
6   call void @thunk()
7   ret void
10 define void @test1() personality ptr @__CxxFrameHandler3 {
11 entry:
12   invoke void @thunk()
13           to label %good1 unwind label %bad1
15 good1:                                            ; preds = %entry-block
16   ret void
18 bad1:                                             ; preds = %entry-block
19   %pad1 = cleanuppad within none []
20   call void @callee(ptr null) [ "funclet"(token %pad1) ]
21   cleanupret from %pad1 unwind to caller
23 ; CHECK-LABEL: define void @test1(
24 ; CHECK:      %[[pad:.*]] = cleanuppad within none []
25 ; CHECK-NEXT: call void @callee() [ "funclet"(token %[[pad]]) ]
27 declare void @thunk()
29 declare i32 @__CxxFrameHandler3(...)