Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / SimplifyCFG / merge-default.ll
blob2685a73449cf538f4d3efd0c8ba0ba098c387f75
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2 ; RUN: opt -passes=simplifycfg -simplifycfg-require-and-preserve-domtree=1 -S < %s | FileCheck %s
4 target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
5 target triple = "x86_64-unknown-linux-gnu"
7 declare void @g()
8 declare void @f()
10 define void @foo(i32 %Kind) {
11 ; CHECK-LABEL: @foo(
12 ; CHECK-NEXT:  entry:
13 ; CHECK-NEXT:    switch i32 [[KIND:%.*]], label [[SW_EPILOG:%.*]] [
14 ; CHECK-NEXT:      i32 15, label [[SW_BB2:%.*]]
15 ; CHECK-NEXT:      i32 2, label [[SW_BB:%.*]]
16 ; CHECK-NEXT:    ]
17 ; CHECK:       sw.bb:
18 ; CHECK-NEXT:    call void @g()
19 ; CHECK-NEXT:    call void @g()
20 ; CHECK-NEXT:    br label [[SW_EPILOG]]
21 ; CHECK:       sw.bb2:
22 ; CHECK-NEXT:    call void @f()
23 ; CHECK-NEXT:    br label [[SW_EPILOG]]
24 ; CHECK:       sw.epilog:
25 ; CHECK-NEXT:    ret void
28 entry:
29   switch i32 %Kind, label %sw.epilog [
30   i32 1, label %sw.epilog
31   i32 2, label %sw.bb
32   i32 15, label %sw.bb2
33   ]
35 sw.bb:
36   call void @g()
37   call void @g()
38   br label %sw.epilog
40 sw.bb2:
41   call void @f()
42   br label %sw.epilog
44 sw.epilog:
45   ret void