brintos

brintos / llvm-project-archived public Read only

0
0
Text · 817 B · 3115c8b Raw
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