mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-19 01:34:32 +00:00
27 lines
545 B
LLVM
27 lines
545 B
LLVM
|
; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | not grep seteq
|
||
|
|
||
|
; Check that simplifycfg deletes a dead 'seteq' instruction when it
|
||
|
; folds a conditional branch into a switch instruction.
|
||
|
|
||
|
declare void %foo()
|
||
|
declare void %bar()
|
||
|
|
||
|
void %testcfg(uint %V) {
|
||
|
%C = seteq uint %V, 18
|
||
|
%D = seteq uint %V, 180
|
||
|
%E = or bool %C, %D
|
||
|
br bool %E, label %L1, label %Sw
|
||
|
Sw:
|
||
|
switch uint %V, label %L1 [
|
||
|
uint 15, label %L2
|
||
|
uint 16, label %L2
|
||
|
]
|
||
|
L1:
|
||
|
call void %foo()
|
||
|
ret void
|
||
|
L2:
|
||
|
call void %bar()
|
||
|
ret void
|
||
|
}
|
||
|
|