| ; RUN: opt -S -simplifycfg < %s | FileCheck %s | |
| define i32 @test1(i32 %x) nounwind { | |
| %i = shl i32 %x, 1 | |
| switch i32 %i, label %a [ | |
| i32 21, label %b | |
| i32 24, label %c | |
| ] | |
| a: | |
| ret i32 0 | |
| b: | |
| ret i32 3 | |
| c: | |
| ret i32 5 | |
| ; CHECK: @test1 | |
| ; CHECK: %cond = icmp eq i32 %i, 24 | |
| ; CHECK: %. = select i1 %cond, i32 5, i32 0 | |
| ; CHECK: ret i32 %. | |
| } | |
| define i32 @test2(i32 %x) nounwind { | |
| %i = shl i32 %x, 1 | |
| switch i32 %i, label %a [ | |
| i32 21, label %b | |
| i32 23, label %c | |
| ] | |
| a: | |
| ret i32 0 | |
| b: | |
| ret i32 3 | |
| c: | |
| ret i32 5 | |
| ; CHECK: @test2 | |
| ; CHECK: ret i32 0 | |
| } |