; This test shows a case where SCCP is incorrectly eliminating the PHI node | |
; because it thinks it has a constant 0 value, when it really doesn't. | |
; RUN: opt < %s -passes=sccp -S | grep phi | |
define i32 @test(i32 %A, i1 %c) { | |
bb1: | |
br label %BB2 | |
BB2: ; preds = %BB4, %bb1 | |
%V = phi i32 [ 0, %bb1 ], [ %A, %BB4 ] ; <i32> [#uses=1] | |
br label %BB3 | |
BB3: ; preds = %BB2 | |
br i1 %c, label %BB4, label %BB5 | |
BB4: ; preds = %BB3 | |
br label %BB2 | |
BB5: ; preds = %BB3 | |
ret i32 %V | |
} | |