reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | ; RUN: opt -S < %s -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 } |