| ; RUN: opt -S < %s -passes=correlated-propagation | FileCheck %s | |
| ; CHECK-LABEL: @test( | |
| define i16 @test(i32 %a, i1 %b) { | |
| entry: | |
| %c = icmp eq i32 %a, 0 | |
| br i1 %c, label %left, label %right | |
| right: | |
| %d = trunc i32 %a to i1 | |
| br label %merge | |
| left: | |
| br i1 %b, label %merge, label %other | |
| other: | |
| ret i16 23 | |
| merge: | |
| %f = phi i1 [%b, %left], [%d, %right] | |
| ; CHECK: select i1 %f, i16 1, i16 0 | |
| %h = select i1 %f, i16 1, i16 0 | |
| ; CHECK: ret i16 %h | |
| ret i16 %h | |
| } |