diff options
Diffstat (limited to 'test/Transforms/SCCP/2002-05-20-MissedIncomingValue.ll')
-rw-r--r-- | test/Transforms/SCCP/2002-05-20-MissedIncomingValue.ll | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/Transforms/SCCP/2002-05-20-MissedIncomingValue.ll b/test/Transforms/SCCP/2002-05-20-MissedIncomingValue.ll new file mode 100644 index 0000000..f619802 --- /dev/null +++ b/test/Transforms/SCCP/2002-05-20-MissedIncomingValue.ll @@ -0,0 +1,19 @@ +; 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 -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 +} + |