; RUN: llvm-upgrade < %s | llvm-as | opt -cee -constprop -instcombine -dce | \ | |
; RUN: llvm-dis | not grep REMOVE | |
; END. | |
int %test_case_values_should_propagate(int %A) { | |
switch int %A, label %D [ | |
int 40, label %C1 | |
int 41, label %C2 | |
int 42, label %C3 | |
] | |
C1: | |
%REMOVE1 = add int %A, 2 ; Should be 42. | |
ret int %REMOVE1 | |
C2: | |
%REMOVE2 = add int %A, 3 ; Should be 44. | |
ret int %REMOVE2 | |
C3: | |
%REMOVE3 = add int %A, 4 ; Should be 46. | |
ret int %REMOVE3 | |
D: | |
ret int 10 | |
} |