diff options
author | Alexander Shaposhnikov <shal1t712@gmail.com> | 2017-07-04 05:11:30 +0000 |
---|---|---|
committer | Alexander Shaposhnikov <shal1t712@gmail.com> | 2017-07-04 05:11:30 +0000 |
commit | 680f0174871f111a8f63e1db564ab3a17237dbe3 (patch) | |
tree | 79a66ab8d872074ebbcd3828894872eef7ee5304 | |
parent | 5b51816020a0daf35f8c24ca06ddffb24d1d493e (diff) | |
download | bcm5719-llvm-680f0174871f111a8f63e1db564ab3a17237dbe3.tar.gz bcm5719-llvm-680f0174871f111a8f63e1db564ab3a17237dbe3.zip |
[tablegen] Avoid creating a temporary vector in getInstructionCase
Record::getValues returns ArrayRef which has a cast operator
to std::vector, as a result a temporary vector is created
if the type of the variable is const std::vector&
that was suboptimal in this case.
Differential revision: https://reviews.llvm.org/D34969
Test plan: make check-all
llvm-svn: 307059
-rw-r--r-- | llvm/include/llvm/ProfileData/InstrProf.h | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/llvm/include/llvm/ProfileData/InstrProf.h b/llvm/include/llvm/ProfileData/InstrProf.h index a6b2850ccd2..234c2fbeb03 100644 --- a/llvm/include/llvm/ProfileData/InstrProf.h +++ b/llvm/include/llvm/ProfileData/InstrProf.h @@ -753,11 +753,8 @@ uint32_t InstrProfRecord::getNumValueKinds() const { uint32_t InstrProfRecord::getNumValueData(uint32_t ValueKind) const { uint32_t N = 0; - const std::vector<InstrProfValueSiteRecord> &SiteRecords = - getValueSitesForKind(ValueKind); - for (auto &SR : SiteRecords) { + for (auto &SR : getValueSitesForKind(ValueKind)) N += SR.ValueData.size(); - } return N; } |