; Test merging of blocks that only have PHI nodes in them.  This tests the case
; where the mergedinto block doesn't have any PHI nodes, and is in fact 
; dominated by the block-to-be-eliminated
;
; RUN: opt < %s -simplifycfg -S | not grep N:
;

declare i1 @foo()

define i32 @test(i1 %a, i1 %b) {
        %c = call i1 @foo()
	br i1 %c, label %N, label %P
P:
        %d = call i1 @foo()
	br i1 %d, label %N, label %Q
Q:
	br label %N
N:
	%W = phi i32 [0, %0], [1, %Q], [2, %P]
	; This block should be foldable into M
	br label %M

M:
	%R = add i32 %W, 1
	ret i32 %R
}

