mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-11 15:07:58 +00:00
53397d1544
This enables users to export coverage information as portable JSON for use by analysis tools and storage in document based databases. The export sub-command is invoked just like the others: llvm-cov export -instr-profile path/to/foo.profdata path/to/foo.binary The resulting JSON contains a list of files and functions. Every file object contains a list of segments, expansions, and a summary of the file's region, function, and line coverage. Every function object contains the function's name and regions. There is also a total summary for the entire object file. Changes since the initial commit (r276813): - Fixed the regexes in the tests to handle Windows filepaths. Patch by Eddie Hurtig! Differential Revision: https://reviews.llvm.org/D22651 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276818 91177308-0d34-0410-b5e6-96231b3b80d8
28 lines
1.2 KiB
C++
28 lines
1.2 KiB
C++
// RUN: llvm-profdata merge %S/Inputs/regionMarkers.proftext -o %t.profdata
|
|
|
|
int main() { // CHECK: Marker at [[@LINE]]:12 = 1.11M
|
|
int x = 0;
|
|
|
|
if (x) { // CHECK: Marker at [[@LINE]]:10 = 0
|
|
x = 0;
|
|
} else { // CHECK: Marker at [[@LINE]]:10 = 1.11M
|
|
x = 1;
|
|
}
|
|
// CHECK: Marker at [[@LINE+2]]:19 = 112M
|
|
// CHECK: Marker at [[@LINE+1]]:28 = 111M
|
|
for (int i = 0; i < 100; ++i) { // CHECK: Marker at [[@LINE]]:33 = 111M
|
|
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: Marker at [[@LINE]]:9 = 0
|
|
x + 1; // CHECK: Marker at [[@LINE]]:9 = 1.11M
|
|
|
|
return 0;
|
|
}
|
|
|
|
// RUN: llvm-cov show %S/Inputs/regionMarkers.covmapping -instr-profile %t.profdata -show-regions -dump -filename-equivalence %s 2>&1 | FileCheck %s
|
|
|
|
// RUN: llvm-cov export %S/Inputs/regionMarkers.covmapping -instr-profile %t.profdata 2>&1 | FileCheck %S/Inputs/regionMarkers.json
|