2
0

showLineExecutionCounts.cpp 2.2 KB

123456789101112131415161718192021222324252627282930
  1. // Basic handling of line counts.
  2. // RUN: llvm-profdata merge %S/Inputs/lineExecutionCounts.proftext -o %t.profdata
  3. // before any coverage // WHOLE-FILE: | [[@LINE]]|// before
  4. // FILTER-NOT: | [[@LINE-1]]|// before
  5. int main() { // CHECK: 161| [[@LINE]]|int main(
  6. int x = 0; // CHECK: 161| [[@LINE]]| int x
  7. // CHECK: 161| [[@LINE]]|
  8. if (x) { // CHECK: 0| [[@LINE]]| if (x)
  9. x = 0; // CHECK: 0| [[@LINE]]| x = 0
  10. } else { // CHECK: 161| [[@LINE]]| } else
  11. x = 1; // CHECK: 161| [[@LINE]]| x = 1
  12. } // CHECK: 161| [[@LINE]]| }
  13. // CHECK: 161| [[@LINE]]|
  14. for (int i = 0; i < 100; ++i) { // CHECK: 16.2k| [[@LINE]]| for (
  15. x = 1; // CHECK: 16.1k| [[@LINE]]| x = 1
  16. } // CHECK: 16.1k| [[@LINE]]| }
  17. // CHECK: 161| [[@LINE]]|
  18. x = x < 10 ? x + 1 : x - 1; // CHECK: 161| [[@LINE]]| x =
  19. x = x > 10 ? // CHECK: 161| [[@LINE]]| x =
  20. x - 1: // CHECK: 0| [[@LINE]]| x
  21. x + 1; // CHECK: 161| [[@LINE]]| x
  22. // CHECK: 161| [[@LINE]]|
  23. return 0; // CHECK: 161| [[@LINE]]| return
  24. } // CHECK: 161| [[@LINE]]|}
  25. // after coverage // WHOLE-FILE: | [[@LINE]]|// after
  26. // FILTER-NOT: | [[@LINE-1]]|// after
  27. // RUN: llvm-cov show %S/Inputs/lineExecutionCounts.covmapping -instr-profile %t.profdata -filename-equivalence %s | FileCheck -check-prefix=CHECK -check-prefix=WHOLE-FILE %s
  28. // RUN: llvm-cov show %S/Inputs/lineExecutionCounts.covmapping -instr-profile %t.profdata -filename-equivalence -name=main %s | FileCheck -check-prefix=CHECK -check-prefix=FILTER %s