forked from llvm-mirror/llvm
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
llvm-cov: Added -c option for branch counts.
This will cause llvm-cov to output branch counts instead of branch probabilities. -b must be enabled. Also updated tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197594 91177308-0d34-0410-b5e6-96231b3b80d8
- Loading branch information
1 parent
25acded
commit f6358f3
Showing
6 changed files
with
219 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,160 @@ | ||
-: 0:Source:test.cpp | ||
-: 0:Graph:test.gcno | ||
-: 0:Data:test.gcda | ||
-: 0:Runs:2 | ||
-: 0:Programs:1 | ||
-: 1:#include "test.h" | ||
-: 2:#include <cstdlib> | ||
-: 3: | ||
-: 4:bool on = false; | ||
-: 5:int len = 42; | ||
-: 6:double grid[10][10] = {0}; | ||
-: 7:const char * hello = "world"; | ||
-: 8:const char * world = "hello"; | ||
-: 9: | ||
function _ZN1A1BEv called 8589934592 returned 100% blocks executed 100% | ||
8589934592: 10:void A::B() {} | ||
8589934592: 10-block 0 | ||
unconditional 0 taken 8589934592 | ||
-: 11: | ||
function _Z7uselessv called 0 returned 0% blocks executed 0% | ||
#####: 12:void useless() {} | ||
$$$$$: 12-block 0 | ||
unconditional 0 never executed | ||
-: 13: | ||
function _Z12more_uselessv called 0 returned 0% blocks executed 0% | ||
-: 14:double more_useless() { | ||
#####: 15: return 0; | ||
$$$$$: 15-block 0 | ||
unconditional 0 never executed | ||
-: 16:} | ||
-: 17: | ||
function _Z3foov called 2 returned 100% blocks executed 100% | ||
-: 18:int foo() { | ||
2: 19: on = true; | ||
2: 20: return 3; | ||
2: 20-block 0 | ||
unconditional 0 taken 2 | ||
-: 21:} | ||
-: 22: | ||
function _Z3barv called 0 returned 0% blocks executed 0% | ||
-: 23:int bar() { | ||
#####: 24: len--; | ||
#####: 25: return foo() + 45; | ||
$$$$$: 25-block 0 | ||
unconditional 0 never executed | ||
-: 26:} | ||
-: 27: | ||
function _Z6assignii called 8 returned 100% blocks executed 100% | ||
8: 28:void assign(int ii, int jj) { | ||
8: 29: grid[ii][jj] = (ii+1) * (jj+1); | ||
8: 30:} | ||
8: 30-block 0 | ||
unconditional 0 taken 8 | ||
-: 31: | ||
function _Z15initialize_gridv called 2 returned 100% blocks executed 100% | ||
-: 32:void initialize_grid() { | ||
6: 33: for (int ii = 0; ii < 2; ii++) | ||
2: 33-block 0 | ||
unconditional 0 taken 2 | ||
6: 33-block 1 | ||
branch 1 taken 4 | ||
branch 2 taken 2 | ||
4: 33-block 2 | ||
unconditional 3 taken 4 | ||
12: 34: for (int jj = 0; jj < 2; jj++) | ||
4: 34-block 0 | ||
unconditional 0 taken 4 | ||
12: 34-block 1 | ||
branch 1 taken 8 | ||
branch 2 taken 4 | ||
8: 34-block 2 | ||
unconditional 3 taken 8 | ||
8: 35: assign(ii, jj); | ||
8: 35-block 0 | ||
unconditional 0 taken 8 | ||
4: 35-block 1 | ||
unconditional 1 taken 4 | ||
2: 36:} | ||
2: 36-block 0 | ||
unconditional 0 taken 2 | ||
-: 37: | ||
function main called 2 returned 100% blocks executed 94% | ||
-: 38:int main() { | ||
2: 39: initialize_grid(); | ||
-: 40: | ||
2: 41: int a = 2; | ||
2: 42: on = rand() % 2; | ||
2: 43: if (on) { | ||
2: 43-block 0 | ||
branch 0 taken 2 | ||
branch 1 taken 0 | ||
2: 44: foo(); | ||
2: 45: ++a; | ||
2: 46: } else { | ||
2: 46-block 0 | ||
unconditional 0 taken 2 | ||
#####: 47: bar(); | ||
#####: 48: a += rand(); | ||
$$$$$: 48-block 0 | ||
unconditional 0 never executed | ||
-: 49: } | ||
-: 50: | ||
22: 51: for (int ii = 0; ii < 10; ++ii) { | ||
2: 51-block 0 | ||
unconditional 0 taken 2 | ||
22: 51-block 1 | ||
branch 1 taken 20 | ||
branch 2 taken 2 | ||
20: 51-block 2 | ||
unconditional 3 taken 20 | ||
20: 52: switch (rand() % 5) { | ||
20: 52-block 0 | ||
branch 0 taken 4 | ||
branch 1 taken 0 | ||
branch 2 taken 2 | ||
branch 3 taken 6 | ||
branch 4 taken 8 | ||
-: 53: case 0: | ||
4: 54: a += rand(); | ||
4: 55: break; | ||
4: 55-block 0 | ||
unconditional 0 taken 4 | ||
-: 56: case 1: | ||
-: 57: case 2: | ||
2: 58: a += rand() / rand(); | ||
2: 59: break; | ||
2: 59-block 0 | ||
unconditional 0 taken 2 | ||
-: 60: case 3: | ||
6: 61: a -= rand(); | ||
6: 62: break; | ||
6: 62-block 0 | ||
unconditional 0 taken 6 | ||
-: 63: default: | ||
8: 64: a = -1; | ||
8: 65: } | ||
8: 65-block 0 | ||
unconditional 0 taken 8 | ||
20: 66: } | ||
20: 66-block 0 | ||
unconditional 0 taken 20 | ||
-: 67: | ||
2: 68: A thing; | ||
8589934594: 69: for (uint64_t ii = 0; ii < 4294967296; ++ii) | ||
2: 69-block 0 | ||
unconditional 0 taken 2 | ||
8589934594: 69-block 1 | ||
branch 1 taken 8589934592 | ||
branch 2 taken 2 | ||
8589934592: 69-block 2 | ||
unconditional 3 taken 8589934592 | ||
8589934592: 70: thing.B(); | ||
8589934592: 70-block 0 | ||
unconditional 0 taken 8589934592 | ||
-: 71: | ||
2: 72: return a + 8 + grid[2][3] + len; | ||
2: 72-block 0 | ||
unconditional 0 taken 2 | ||
-: 73: return more_useless(); | ||
-: 74:} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
-: 0:Source:./test.h | ||
-: 0:Graph:test.gcno | ||
-: 0:Data:test.gcda | ||
-: 0:Runs:2 | ||
-: 0:Programs:1 | ||
function _ZN1AC1Ev called 2 returned 100% blocks executed 100% | ||
function _ZN1AC2Ev called 2 returned 100% blocks executed 100% | ||
2: 1:struct A { | ||
2: 1-block 0 | ||
unconditional 0 taken 2 | ||
2: 1-block 1 | ||
unconditional 1 taken 2 | ||
-: 2: virtual void B(); | ||
-: 3:}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters