xref: /llvm-project/llvm/test/Transforms/SimplifyCFG/switch_undef.ll (revision d1d129356909af2f6fefd6f1b9335a39fe172e9a)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt %s -keep-loops=false -switch-to-lookup=true -passes=simplifycfg -simplifycfg-require-and-preserve-domtree=1 -S | FileCheck %s
3; RUN: opt %s -passes='simplifycfg<no-keep-loops;switch-to-lookup>' -S | FileCheck %s
4
5define void @f6() #0 {
6; CHECK-LABEL: @f6(
7; CHECK-NEXT:  entry:
8; CHECK-NEXT:    br label [[FOR_COND_I:%.*]]
9; CHECK:       for.cond.i:
10; CHECK-NEXT:    [[TOBOOL7_I:%.*]] = icmp ne i16 1, 0
11; CHECK-NEXT:    br label [[FOR_COND_I]]
12;
13
14entry:
15  br label %for.cond.i
16
17for.cond.i:                                       ; preds = %f1.exit.i, %entry
18  switch i16 undef, label %f1.exit.i [
19  i16 -1, label %cond.false.i3.i
20  i16 1, label %cond.false.i3.i
21  i16 0, label %cond.false.i3.i
22  ]
23
24cond.false.i3.i:                                  ; preds = %for.cond.i, %for.cond.i, %for.cond.i
25  br label %f1.exit.i
26
27f1.exit.i:                                        ; preds = %cond.false.i3.i, %for.cond.i
28  %cond.i4.i = phi i16 [ undef, %cond.false.i3.i ], [ 1, %for.cond.i ]
29  %tobool7.i = icmp ne i16 %cond.i4.i, 0
30  br label %for.cond.i
31}
32