aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms/CorrelatedExprs/switch.ll
blob: d8fad3e190d44076b79c8adfc8db4c8ca565365a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
; RUN: llvm-upgrade < %s | llvm-as | 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
}