mirror of
https://github.com/RPCS3/llvm.git
synced 2025-05-17 10:55:58 +00:00

Make sure that the text and html emitters always emit the same set of region markers, and avoid emitting redundant markers for line segments which don't end on the line they start on. This is related to D35925, and depends on D36014 Differential Revision: https://reviews.llvm.org/D36020 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312813 91177308-0d34-0410-b5e6-96231b3b80d8
29 lines
1.4 KiB
C++
29 lines
1.4 KiB
C++
// RUN: llvm-profdata merge %S/Inputs/regionMarkers.proftext -o %t.profdata
|
|
|
|
int main() { // CHECK-NOT: Marker at [[@LINE]]:12
|
|
int x = 0;
|
|
|
|
if (x) { // CHECK-NOT: Marker at [[@LINE]]:10
|
|
x = 0;
|
|
} else { // CHECK-NOT: Marker at [[@LINE]]:10
|
|
x = 1;
|
|
}
|
|
// CHECK: Marker at [[@LINE+2]]:19 = 112M
|
|
// CHECK: Marker at [[@LINE+1]]:28 = 111M
|
|
for (int i = 0; i < 100; ++i) { // CHECK-NOT: Marker at [[@LINE]]:33
|
|
x = 1;
|
|
}
|
|
// CHECK: Marker at [[@LINE+1]]:16 = 1.11M
|
|
x = x < 10 ? x + 1 : x - 1; // CHECK: Marker at [[@LINE]]:24 = 0
|
|
x = x > 10 ?
|
|
x - 1: // CHECK-NOT: Marker at [[@LINE]]:9
|
|
x + 1; // CHECK-NOT: Marker at [[@LINE]]:9
|
|
|
|
return 0;
|
|
}
|
|
|
|
// RUN: llvm-cov show %S/Inputs/regionMarkers.covmapping -instr-profile %t.profdata -show-regions -dump -path-equivalence=/Users/bogner/code/llvm/test/tools,%S/.. %s 2>&1 | FileCheck %s
|
|
// RUN: llvm-cov show %S/Inputs/regionMarkers.covmapping -instr-profile %t.profdata -show-regions -format=html -dump -path-equivalence=/Users/bogner/code/llvm/test/tools,%S/.. %s 2>&1 | FileCheck %s
|
|
|
|
// RUN: llvm-cov export %S/Inputs/regionMarkers.covmapping -instr-profile %t.profdata 2>&1 | FileCheck %S/Inputs/regionMarkers.json
|