mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-30 02:32:08 +00:00
21 lines
497 B
LLVM
21 lines
497 B
LLVM
|
; RUN: llvm-as < %s | opt -cee -constprop -instcombine -dce | llvm-dis | not grep 'REMOVE'
|
||
|
|
||
|
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
|
||
|
}
|