[OperandBundles] Have PruneEH work correct with operand bundles.
[oota-llvm.git] / test / Transforms / PruneEH / operand-bundles.ll
1 ; RUN: opt < %s -prune-eh -S | FileCheck %s
2
3 declare void @nounwind() nounwind
4
5 define internal void @foo() {
6         call void @nounwind()
7         ret void
8 }
9
10 define i32 @caller() personality i32 (...)* @__gxx_personality_v0 {
11 ; CHECK-LABEL: @caller(
12 ; CHECK-NOT: invoke
13 ; CHECK: call void @foo() [ "foo"(i32 0, i8 1) ]
14         invoke void @foo() [ "foo"(i32 0, i8 1) ]
15                         to label %Normal unwind label %Except
16
17 Normal:         ; preds = %0
18         ret i32 0
19
20 Except:         ; preds = %0
21         landingpad { i8*, i32 }
22                 catch i8* null
23         ret i32 1
24 }
25
26 declare i32 @__gxx_personality_v0(...)