[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / Transforms / SimpleLoopUnswitch / catchswitch.ll
blob303de221b005c422ec2e2d4eea60516ef7bb7aa4
1 ; RUN: opt -passes='simple-loop-unswitch<nontrivial>' < %s -S | FileCheck %s
3 ; CHECK: if.end{{.*}}:
4 ; CHECK-NOT: if.end{{.*}}:
5 declare i32 @__gxx_wasm_personality_v0(...)
7 declare void @foo()
9 define void @test(i1 %arg) personality ptr @__gxx_wasm_personality_v0 {
10 entry:
11   br label %while.body
13 while.body:                                       ; preds = %cleanup, %entry
14   br i1 %arg, label %if.end, label %if.then
16 if.then:                                          ; preds = %while.body
17   br label %if.end
19 if.end:                                           ; preds = %if.then, %while.body
20   invoke void @foo()
21           to label %cleanup unwind label %catch.dispatch
23 catch.dispatch:                                   ; preds = %invoke.cont, %if.end
24   %0 = catchswitch within none [label %catch] unwind to caller
26 catch:                                            ; preds = %catch.dispatch
27   %1 = catchpad within %0 [ptr null]
28   unreachable
30 cleanup:                                          ; preds = %invoke.cont
31   br label %while.body