diff options
author | Vedant Kumar <vsk@apple.com> | 2017-09-21 01:11:30 +0000 |
---|---|---|
committer | Vedant Kumar <vsk@apple.com> | 2017-09-21 01:11:30 +0000 |
commit | 18dd9e88ed10c380e8d9cc999854c6365f3908c1 (patch) | |
tree | e53f82fc4e33dc611ad39d99ea21f623cadb949a /llvm/lib/ProfileData/Coverage/CoverageMapping.cpp | |
parent | fdcdd88d5718c4785b7d3e3bc9b9e866b56590d5 (diff) | |
download | llvm-18dd9e88ed10c380e8d9cc999854c6365f3908c1.zip llvm-18dd9e88ed10c380e8d9cc999854c6365f3908c1.tar.gz llvm-18dd9e88ed10c380e8d9cc999854c6365f3908c1.tar.bz2 |
[llvm-cov] Improve error messaging for function mismatches
Passing "-dump" to llvm-cov will now print more detailed information
about function hash and counter mismatches. This should make it easier
to debug *.profdata files which contain incorrect records, and to debug
other scenarios where coverage goes missing due to mismatch issues.
llvm-svn: 313853
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMapping.cpp')
-rw-r--r-- | llvm/lib/ProfileData/Coverage/CoverageMapping.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp b/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp index 4c257cf..52f9447 100644 --- a/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp +++ b/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp @@ -217,7 +217,7 @@ Error CoverageMapping::loadFunctionRecord( Record.FunctionHash, Counts)) { instrprof_error IPE = InstrProfError::take(std::move(E)); if (IPE == instrprof_error::hash_mismatch) { - MismatchedFunctionCount++; + FuncHashMismatches.emplace_back(Record.FunctionName, Record.FunctionHash); return Error::success(); } else if (IPE != instrprof_error::unknown_function) return make_error<InstrProfError>(IPE); @@ -237,7 +237,8 @@ Error CoverageMapping::loadFunctionRecord( Function.pushRegion(Region, *ExecutionCount); } if (Function.CountedRegions.size() != Record.MappingRegions.size()) { - MismatchedFunctionCount++; + FuncCounterMismatches.emplace_back(Record.FunctionName, + Function.CountedRegions.size()); return Error::success(); } |