summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ProfileData/InstrProf.cpp
diff options
context:
space:
mode:
authorNathan Slingerland <slingn@gmail.com>2015-11-17 22:08:53 +0000
committerNathan Slingerland <slingn@gmail.com>2015-11-17 22:08:53 +0000
commite6e30d5e884af25e8fbe842c2480d5bdf529cfd0 (patch)
treeb7e5832bd21cfc212859cdaef794c6b43e444d81 /llvm/lib/ProfileData/InstrProf.cpp
parenta2afcc99116ee4be3b8cf2283f975421462e76fc (diff)
downloadbcm5719-llvm-e6e30d5e884af25e8fbe842c2480d5bdf529cfd0.tar.gz
bcm5719-llvm-e6e30d5e884af25e8fbe842c2480d5bdf529cfd0.zip
[llvm-profdata] Improve error messaging when merging mismatched profile data
Summary: This change tries to make the root cause of instrumented profile data merge failures clearer. Previous: $ llvm-profdata merge test_0.profraw test_1.profraw -o test_merged.profdata test_1.profraw: foo: Function count mismatch test_1.profraw: bar: Function count mismatch test_1.profraw: baz: Function count mismatch ... Changed: $ llvm-profdata merge test_0.profraw test_1.profraw -o test_merged.profdata test_1.profraw: foo: Function basic block count change detected (counter mismatch) Make sure that all profile data to be merged is generated from the same binary. test_1.profraw: bar: Function basic block count change detected (counter mismatch) test_1.profraw: baz: Function basic block count change detected (counter mismatch) ... Reviewers: dnovillo, davidxl, bogner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14739 llvm-svn: 253384
Diffstat (limited to 'llvm/lib/ProfileData/InstrProf.cpp')
-rw-r--r--llvm/lib/ProfileData/InstrProf.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/ProfileData/InstrProf.cpp b/llvm/lib/ProfileData/InstrProf.cpp
index ef7b19b2882..2dd0f916c6d 100644
--- a/llvm/lib/ProfileData/InstrProf.cpp
+++ b/llvm/lib/ProfileData/InstrProf.cpp
@@ -51,13 +51,13 @@ class InstrProfErrorCategoryType : public std::error_category {
case instrprof_error::unknown_function:
return "No profile data available for function";
case instrprof_error::hash_mismatch:
- return "Function hash mismatch";
+ return "Function control flow change detected (hash mismatch)";
case instrprof_error::count_mismatch:
- return "Function count mismatch";
+ return "Function basic block count change detected (counter mismatch)";
case instrprof_error::counter_overflow:
return "Counter overflow";
case instrprof_error::value_site_count_mismatch:
- return "Function's value site counts mismatch";
+ return "Function value site count change detected (counter mismatch)";
}
llvm_unreachable("A value of instrprof_error has no message.");
}
OpenPOWER on IntegriCloud