load-with-range-metadata.ll 972 B

12345678910111213141516171819202122232425262728293031323334353637
  1. ; RUN: opt -analyze -scalar-evolution < %s | FileCheck %s
  2. define i32 @slt_trip_count_with_range(i32 *%ptr0, i32 *%ptr1) {
  3. ; CHECK-LABEL: slt_trip_count_with_range
  4. entry:
  5. %limit = load i32, i32* %ptr0, !range !0
  6. br label %loop
  7. loop:
  8. ; CHECK: Loop %loop: max backedge-taken count is 98
  9. %index = phi i32 [ 0, %entry ], [ %index.inc, %loop ]
  10. %index.inc = add i32 %index, 1
  11. %continue = icmp slt i32 %index.inc, %limit
  12. br i1 %continue, label %loop, label %loop.exit
  13. loop.exit:
  14. ret i32 0
  15. }
  16. define i32 @ult_trip_count_with_range(i32 *%ptr0, i32 *%ptr1) {
  17. ; CHECK-LABEL: ult_trip_count_with_range
  18. entry:
  19. %limit = load i32, i32* %ptr0, !range !0
  20. br label %loop
  21. loop:
  22. ; CHECK: Loop %loop: max backedge-taken count is 98
  23. %index = phi i32 [ 0, %entry ], [ %index.inc, %loop ]
  24. %index.inc = add i32 %index, 1
  25. %continue = icmp ult i32 %index.inc, %limit
  26. br i1 %continue, label %loop, label %loop.exit
  27. loop.exit:
  28. ret i32 0
  29. }
  30. !0 = !{i32 1, i32 100}