DI: Require subprogram definitions to be distinct
[oota-llvm.git] / test / Transforms / Mem2Reg / 2003-04-24-MultipleIdenticalSuccessors.ll
index 16507e39882b13f8b1dc8e7b5eec14d454fc9046..a013ff401f6c34e02251804e8630592082076dd7 100644 (file)
@@ -1,15 +1,16 @@
 ; Mem2reg used to only add one incoming value to a PHI node, even if it had
 ; multiple incoming edges from a block.
 ;
-; RUN: as < %s | opt -mem2reg -disable-output
+; RUN: opt < %s -mem2reg -disable-output
 
-int %test(bool %c1, bool %c2) {
-       %X = alloca int
-       br bool %c1, label %Exit, label %B2
-B2:
-       store int 2, int* %X
-       br bool %c2, label %Exit, label %Exit
-Exit:
-       %Y = load int *%X
-       ret int %Y
+define i32 @test(i1 %c1, i1 %c2) {
+       %X = alloca i32         ; <i32*> [#uses=2]
+       br i1 %c1, label %Exit, label %B2
+B2:            ; preds = %0
+       store i32 2, i32* %X
+       br i1 %c2, label %Exit, label %Exit
+Exit:          ; preds = %B2, %B2, %0
+       %Y = load i32, i32* %X          ; <i32> [#uses=1]
+       ret i32 %Y
 }
+