| ; 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 | |
| } | |