llvm-6502/test/Transforms/LoopUnswitch/2006-06-27-DeadSwitchCase.ll
Owen Anderson 2f62a9eb2e Testcase that Nate found where LoopUnswitch chokes on eliminating a dead case
from a switch instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28946 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-27 22:24:59 +00:00

32 lines
812 B
LLVM

; RUN: llvm-as < %s | opt -loop-unswitch -disable-output
implementation ; Functions:
void %init_caller_save() {
entry:
br label %cond_true78
cond_next20: ; preds = %cond_true64
br label %bb31
bb31: ; preds = %cond_true64, %cond_true64, %cond_next20
%iftmp.29.1 = phi uint [ 0, %cond_next20 ], [ 0, %cond_true64 ], [ 0, %cond_true64 ] ; <uint> [#uses=0]
br label %bb54
bb54: ; preds = %cond_true78, %bb31
br bool false, label %bb75, label %cond_true64
cond_true64: ; preds = %bb54
switch int %i.0.0, label %cond_next20 [
int 17, label %bb31
int 18, label %bb31
]
bb75: ; preds = %bb54
%tmp74.0 = add int %i.0.0, 1 ; <int> [#uses=1]
br label %cond_true78
cond_true78: ; preds = %bb75, %entry
%i.0.0 = phi int [ 0, %entry ], [ %tmp74.0, %bb75 ] ; <int> [#uses=2]
br label %bb54
}