2002-05-03 04:41:39 +08:00
|
|
|
; This is a basic sanity check for constant propogation. The add instruction
|
|
|
|
; should be eliminated.
|
|
|
|
|
2008-03-19 12:14:49 +08:00
|
|
|
; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep add
|
2002-05-03 04:41:39 +08:00
|
|
|
|
2008-03-19 12:14:49 +08:00
|
|
|
define i32 @test(i1 %B) {
|
|
|
|
br i1 %B, label %BB1, label %BB2
|
|
|
|
BB1: ; preds = %0
|
|
|
|
%Val = add i32 0, 0 ; <i32> [#uses=1]
|
2002-05-03 04:41:39 +08:00
|
|
|
br label %BB3
|
2008-03-19 12:14:49 +08:00
|
|
|
BB2: ; preds = %0
|
2002-05-03 04:41:39 +08:00
|
|
|
br label %BB3
|
2008-03-19 12:14:49 +08:00
|
|
|
BB3: ; preds = %BB2, %BB1
|
|
|
|
%Ret = phi i32 [ %Val, %BB1 ], [ 1, %BB2 ] ; <i32> [#uses=1]
|
|
|
|
ret i32 %Ret
|
2003-06-29 07:23:34 +08:00
|
|
|
}
|
2008-03-19 12:14:49 +08:00
|
|
|
|