diff options
author | Devang Patel <dpatel@apple.com> | 2011-09-20 17:43:14 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2011-09-20 17:43:14 +0000 |
commit | 865375ca7f68e60c0234916dd6bb365bb674bddb (patch) | |
tree | 96b5d3876b3a77f1de662f2b8886e1f540f6fccd /lib/Transforms/Instrumentation/GCOVProfiling.cpp | |
parent | ec6f2559fe1e257d221c9b4ce6c32584f7cc99b2 (diff) | |
download | external_llvm-865375ca7f68e60c0234916dd6bb365bb674bddb.zip external_llvm-865375ca7f68e60c0234916dd6bb365bb674bddb.tar.gz external_llvm-865375ca7f68e60c0234916dd6bb365bb674bddb.tar.bz2 |
Eliminate unnecessary copy of FileName from GCOVLines.
GCOVLines is always accessed through a StringMap where the key is FileName.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140151 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Instrumentation/GCOVProfiling.cpp')
-rw-r--r-- | lib/Transforms/Instrumentation/GCOVProfiling.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/Transforms/Instrumentation/GCOVProfiling.cpp b/lib/Transforms/Instrumentation/GCOVProfiling.cpp index 1626293..e701f99 100644 --- a/lib/Transforms/Instrumentation/GCOVProfiling.cpp +++ b/lib/Transforms/Instrumentation/GCOVProfiling.cpp @@ -167,18 +167,17 @@ namespace { } uint32_t length() { - return lengthOfGCOVString(Filename) + 2 + Lines.size(); + // FIXME: ??? What is the significance of 2 here ? + return 2 + Lines.size(); } private: friend class GCOVBlock; - GCOVLines(std::string Filename, raw_ostream *os) - : Filename(Filename) { + GCOVLines(raw_ostream *os) { this->os = os; } - std::string Filename; SmallVector<uint32_t, 32> Lines; }; @@ -190,7 +189,7 @@ namespace { GCOVLines &getFile(std::string Filename) { GCOVLines *&Lines = LinesByFile[Filename]; if (!Lines) { - Lines = new GCOVLines(Filename, os); + Lines = new GCOVLines(os); } return *Lines; } @@ -203,7 +202,7 @@ namespace { uint32_t Len = 3; for (StringMap<GCOVLines *>::iterator I = LinesByFile.begin(), E = LinesByFile.end(); I != E; ++I) { - Len += I->second->length(); + Len = Len + lengthOfGCOVString(I->first()) + I->second->length(); } writeBytes(LinesTag, 4); @@ -212,7 +211,7 @@ namespace { for (StringMap<GCOVLines *>::iterator I = LinesByFile.begin(), E = LinesByFile.end(); I != E; ++I) { write(0); - writeGCOVString(I->second->Filename); + writeGCOVString(I->first()); for (int i = 0, e = I->second->Lines.size(); i != e; ++i) { write(I->second->Lines[i]); } |