30 lines · plain
1; RUN: opt -S -passes=deadargelim < %s | FileCheck %s2target triple = "x86_64-pc-windows-msvc"3 4define internal void @callee(ptr) {5entry:6 call void @thunk()7 ret void8}9 10define void @test1() personality ptr @__CxxFrameHandler3 {11entry:12 invoke void @thunk()13 to label %good1 unwind label %bad114 15good1: ; preds = %entry-block16 ret void17 18bad1: ; preds = %entry-block19 %pad1 = cleanuppad within none []20 call void @callee(ptr null) [ "funclet"(token %pad1) ]21 cleanupret from %pad1 unwind to caller22}23; CHECK-LABEL: define void @test1(24; CHECK: %[[pad:.*]] = cleanuppad within none []25; CHECK-NEXT: call void @callee() [ "funclet"(token %[[pad]]) ]26 27declare void @thunk()28 29declare i32 @__CxxFrameHandler3(...)30