Home | History | Annotate | Download | only in LCSSA
      1 ; RUN: opt < %s -lcssa -verify -S -o /dev/null
      2 
      3 ; This bugpoint reduced test case used to assert when removing unused PHI nodes.
      4 ; Just verify that we do not assert/crash.
      5 
      6 define void @test() {
      7 entry:
      8   br label %gazank
      9 
     10 gazank:
     11   %value = phi i16 [ 0, %entry ], [ undef, %gazonk ]
     12   br i1 undef, label %gazink, label %qqq
     13 
     14 gazink:
     15   br i1 undef, label %gazonk, label %infinite.loop.pred
     16 
     17 gazonk:
     18   br i1 undef, label %exit1, label %gazank
     19 
     20 qqq:
     21   br i1 undef, label %www, label %exit2
     22 
     23 www:
     24   br i1 undef, label %qqq, label %foo.pred
     25 
     26 foo.pred:
     27   br label %foo
     28 
     29 foo:
     30   br i1 undef, label %bar, label %exit1.pred
     31 
     32 bar:
     33   br i1 undef, label %foo, label %exit2.pred
     34 
     35 unreachable1:
     36   br i1 undef, label %foo, label %exit2.pred
     37 
     38 exit1.pred:
     39   br label %exit1
     40 
     41 exit1:
     42   ret void
     43 
     44 exit2.pred:
     45   br label %exit2
     46 
     47 exit2:
     48   ret void
     49 
     50 infinite.loop.pred:
     51   br label %infinite.loop
     52 
     53 infinite.loop:
     54   %dead = phi i16 [ %value, %infinite.loop.pred ], [ 0, %infinite.loop ]
     55   br label %infinite.loop
     56 }
     57