pr3086.ll 966 B

1234567891011121314151617181920212223242526272829
  1. ; RUN: opt < %s -loop-reduce
  2. ; RUN: opt < %s -analyze -scalar-evolution
  3. ; PR 3086
  4. %struct.Cls = type { i32, i8, [2 x %struct.Cls*], [2 x %struct.Lit*] }
  5. %struct.Lit = type { i8 }
  6. define fastcc i64 @collect_clauses() nounwind {
  7. entry:
  8. br label %bb11
  9. bb5: ; preds = %bb9
  10. %0 = load %struct.Lit*, %struct.Lit** %storemerge, align 8 ; <%struct.Lit*> [#uses=0]
  11. %indvar.next8 = add i64 %storemerge.rec, 1 ; <i64> [#uses=1]
  12. br label %bb9
  13. bb9: ; preds = %bb22, %bb5
  14. %storemerge.rec = phi i64 [ %indvar.next8, %bb5 ], [ 0, %bb22 ] ; <i64> [#uses=2]
  15. %storemerge = getelementptr %struct.Lit*, %struct.Lit** null, i64 %storemerge.rec ; <%struct.Lit**> [#uses=2]
  16. %1 = icmp ugt %struct.Lit** null, %storemerge ; <i1> [#uses=1]
  17. br i1 %1, label %bb5, label %bb22
  18. bb11: ; preds = %bb22, %entry
  19. %2 = load %struct.Cls*, %struct.Cls** null, align 8 ; <%struct.Cls*> [#uses=0]
  20. br label %bb22
  21. bb22: ; preds = %bb11, %bb9
  22. br i1 false, label %bb11, label %bb9
  23. }