loops_2.ll 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. ; REQUIRES: asserts
  2. ; RUN: opt -regions -analyze < %s | FileCheck %s
  3. ; RUN: opt -regions -stats < %s 2>&1 | FileCheck -check-prefix=STAT %s
  4. ; RUN: opt -regions -print-region-style=bb -analyze < %s 2>&1 | FileCheck -check-prefix=BBIT %s
  5. ; RUN: opt -regions -print-region-style=rn -analyze < %s 2>&1 | FileCheck -check-prefix=RNIT %s
  6. define void @meread_() nounwind {
  7. entry:
  8. br label %bb23
  9. bb23:
  10. br label %bb.i
  11. bb.i: ; preds = %bb.i, %bb54
  12. br label %pflini_.exit
  13. pflini_.exit: ; preds = %bb.i
  14. br label %bb58thread-split
  15. bb58thread-split: ; preds = %bb64, %bb61, %pflini_.exit
  16. br label %bb58
  17. bb58: ; preds = %bb60, %bb58thread-split
  18. br i1 1, label %bb59, label %bb23
  19. bb59: ; preds = %bb58
  20. switch i32 1, label %bb60 [
  21. i32 1, label %l98
  22. ]
  23. bb60: ; preds = %bb59
  24. br i1 1, label %bb61, label %bb58
  25. bb61: ; preds = %bb60
  26. br label %bb58thread-split
  27. l98: ; preds = %bb69, %bb59
  28. ret void
  29. }
  30. ; CHECK-NOT: =>
  31. ; CHECK: [0] entry => <Function Return>
  32. ; CHECK: [1] bb23 => l98
  33. ; STAT: 2 region - The # of regions
  34. ; STAT: 1 region - The # of simple regions
  35. ; BBIT: entry, bb23, bb.i, pflini_.exit, bb58thread-split, bb58, bb59, bb60, bb61, l98,
  36. ; BBIT: bb23, bb.i, pflini_.exit, bb58thread-split, bb58, bb59, bb60, bb61,
  37. ; RNIT: entry, bb23 => l98, l98,
  38. ; RNIT: bb23, bb.i, pflini_.exit, bb58thread-split, bb58, bb59, bb60, bb61,