Home | History | Annotate | Download | only in Other
      1 ; LoopInfo is incorrectly calculating loop nesting!  In this case it doesn't 
      2 ; figure out that loop "Inner" should be nested inside of leep "LoopHeader", 
      3 ; and instead nests it just inside loop "Top"
      4 ;
      5 ; RUN: opt < %s -analyze -loops | \
      6 ; RUN:   grep {     Loop at depth 3 containing: %Inner<header><latch><exiting>}
      7 ;
      8 define void @test() {
      9         br label %Top
     10 
     11 Top:            ; preds = %Out, %0
     12         br label %LoopHeader
     13 
     14 Next:           ; preds = %LoopHeader
     15         br i1 false, label %Inner, label %Out
     16 
     17 Inner:          ; preds = %Inner, %Next
     18         br i1 false, label %Inner, label %LoopHeader
     19 
     20 LoopHeader:             ; preds = %Inner, %Top
     21         br label %Next
     22 
     23 Out:            ; preds = %Next
     24         br i1 false, label %Top, label %Done
     25 
     26 Done:           ; preds = %Out
     27         ret void
     28 }
     29 
     30