llvm-for-llvmta/test/Transforms/SimplifyCFG/switch_undef.ll

32 lines
1.1 KiB
LLVM

; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt %s -keep-loops=false -switch-to-lookup=true -simplifycfg -simplifycfg-require-and-preserve-domtree=1 -S | FileCheck %s
; RUN: opt %s -passes='simplify-cfg<no-keep-loops;switch-to-lookup>' -S | FileCheck %s
define void @f6() #0 {
; CHECK-LABEL: @f6(
; CHECK-NEXT: entry:
; CHECK-NEXT: br label [[FOR_COND_I:%.*]]
; CHECK: for.cond.i:
; CHECK-NEXT: [[TOBOOL7_I:%.*]] = icmp ne i16 1, 0
; CHECK-NEXT: br label [[FOR_COND_I]]
;
entry:
br label %for.cond.i
for.cond.i: ; preds = %f1.exit.i, %entry
switch i16 undef, label %f1.exit.i [
i16 -1, label %cond.false.i3.i
i16 1, label %cond.false.i3.i
i16 0, label %cond.false.i3.i
]
cond.false.i3.i: ; preds = %for.cond.i, %for.cond.i, %for.cond.i
br label %f1.exit.i
f1.exit.i: ; preds = %cond.false.i3.i, %for.cond.i
%cond.i4.i = phi i16 [ undef, %cond.false.i3.i ], [ 1, %for.cond.i ]
%tobool7.i = icmp ne i16 %cond.i4.i, 0
br label %for.cond.i
}