forked from OSchip/llvm-project
57 lines
989 B
LLVM
57 lines
989 B
LLVM
; RUN: opt < %s -lcssa -verify -S -o /dev/null
|
|
|
|
; This bugpoint reduced test case used to assert when removing unused PHI nodes.
|
|
; Just verify that we do not assert/crash.
|
|
|
|
define void @test() {
|
|
entry:
|
|
br label %gazank
|
|
|
|
gazank:
|
|
%value = phi i16 [ 0, %entry ], [ undef, %gazonk ]
|
|
br i1 undef, label %gazink, label %qqq
|
|
|
|
gazink:
|
|
br i1 undef, label %gazonk, label %infinite.loop.pred
|
|
|
|
gazonk:
|
|
br i1 undef, label %exit1, label %gazank
|
|
|
|
qqq:
|
|
br i1 undef, label %www, label %exit2
|
|
|
|
www:
|
|
br i1 undef, label %qqq, label %foo.pred
|
|
|
|
foo.pred:
|
|
br label %foo
|
|
|
|
foo:
|
|
br i1 undef, label %bar, label %exit1.pred
|
|
|
|
bar:
|
|
br i1 undef, label %foo, label %exit2.pred
|
|
|
|
unreachable1:
|
|
br i1 undef, label %foo, label %exit2.pred
|
|
|
|
exit1.pred:
|
|
br label %exit1
|
|
|
|
exit1:
|
|
ret void
|
|
|
|
exit2.pred:
|
|
br label %exit2
|
|
|
|
exit2:
|
|
ret void
|
|
|
|
infinite.loop.pred:
|
|
br label %infinite.loop
|
|
|
|
infinite.loop:
|
|
%dead = phi i16 [ %value, %infinite.loop.pred ], [ 0, %infinite.loop ]
|
|
br label %infinite.loop
|
|
}
|