mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-23 19:59:57 +00:00
[PGO] Text format profile reader needs to clear the value profile
Summary: Reset the ValueData for each function to avoid using the ones in the previous function. Reviewers: davidxl Reviewed By: davidxl Subscribers: llvm-commits, xur Differential Revision: https://reviews.llvm.org/D30479 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@296916 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2b465546ec
commit
5497dd541a
@ -671,6 +671,13 @@ struct InstrProfRecord {
|
||||
SR.sortByCount();
|
||||
}
|
||||
}
|
||||
|
||||
/// Clear value data entries and edge counters.
|
||||
void Clear() {
|
||||
Counts.clear();
|
||||
clearValueData();
|
||||
}
|
||||
|
||||
/// Clear value data entries
|
||||
void clearValueData() {
|
||||
for (uint32_t Kind = IPVK_First; Kind <= IPVK_Last; ++Kind)
|
||||
|
@ -250,7 +250,7 @@ Error TextInstrProfReader::readNextRecord(InstrProfRecord &Record) {
|
||||
return error(instrprof_error::malformed);
|
||||
|
||||
// Read each counter and fill our internal storage with the values.
|
||||
Record.Counts.clear();
|
||||
Record.Clear();
|
||||
Record.Counts.reserve(NumCounters);
|
||||
for (uint64_t I = 0; I < NumCounters; ++I) {
|
||||
if (Line.is_at_end())
|
||||
|
@ -63,6 +63,15 @@ foo2:20000
|
||||
#ICTEXT-NEXT: foo2:20000
|
||||
#
|
||||
|
||||
bar
|
||||
# Func Hash:
|
||||
10
|
||||
# Num Counters:
|
||||
2
|
||||
# Counter Values:
|
||||
999000
|
||||
359800
|
||||
|
||||
#ICSUM: Total Number of Indirect Call Sites : 3
|
||||
#ICSUM: Total Number of Sites With Values : 2
|
||||
#ICSUM: Total Number of Profiled Values : 3
|
||||
|
Loading…
Reference in New Issue
Block a user