Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / SimplifyCFG / unreachable-cleanuppad.ll
blob7e4387163576c34b4519f987c89f137e50cbe639
1 ; RUN: opt -passes=simplifycfg -simplifycfg-require-and-preserve-domtree=1 -S < %s | FileCheck %s
2 target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
3 target triple = "i686-pc-win32"
5 declare i32 @__CxxFrameHandler3(...)
7 declare void @fn_2()
9 define void @fn_1(i1 %B) personality ptr @__CxxFrameHandler3 {
10 entry:
11   br i1 %B, label %__Ea.exit, label %lor.lhs.false.i.i
13 lor.lhs.false.i.i:
14   br i1 %B, label %if.end.i.i, label %__Ea.exit
16 if.end.i.i:
17   invoke void @fn_2()
18           to label %__Ea.exit unwind label %ehcleanup.i
20 ehcleanup.i:
21   %t4 = cleanuppad within none []
22   br label %arraydestroy.body.i
24 arraydestroy.body.i:
25   %gep = getelementptr i8, ptr null, i32 -1
26   br label %dtor.exit.i
28 dtor.exit.i:
29   br i1 %B, label %arraydestroy.done3.i, label %arraydestroy.body.i
31 arraydestroy.done3.i:
32   cleanupret from %t4 unwind to caller
34 __Ea.exit:
35   ret void
38 ; CHECK-LABEL: define void @fn_1(
39 ; CHECK-NEXT: entry:
40 ; CHECK-NEXT: ret void