[PATCH] CoverageMapping: Reader - update for the modified profile data format by add function's hash to coverage function records.

Alex Lorenz arphaman at gmail.com
Thu Aug 21 12:32:55 PDT 2014


Closed by commit rL216207 (authored by @arphaman).

REPOSITORY
  rL LLVM

http://reviews.llvm.org/D4994

Files:
  llvm/trunk/include/llvm/ProfileData/CoverageMappingReader.h
  llvm/trunk/lib/ProfileData/CoverageMappingReader.cpp

Index: llvm/trunk/include/llvm/ProfileData/CoverageMappingReader.h
===================================================================
--- llvm/trunk/include/llvm/ProfileData/CoverageMappingReader.h
+++ llvm/trunk/include/llvm/ProfileData/CoverageMappingReader.h
@@ -33,6 +33,7 @@
 /// \brief Coverage mapping information for a single function.
 struct CoverageMappingRecord {
   StringRef FunctionName;
+  uint64_t FunctionHash;
   ArrayRef<StringRef> Filenames;
   ArrayRef<CounterExpression> Expressions;
   ArrayRef<CounterMappingRegion> MappingRegions;
@@ -143,16 +144,17 @@
   struct ProfileMappingRecord {
     CoverageMappingVersion Version;
     StringRef FunctionName;
+    uint64_t FunctionHash;
     StringRef CoverageMapping;
     size_t FilenamesBegin;
     size_t FilenamesSize;
 
     ProfileMappingRecord(CoverageMappingVersion Version, StringRef FunctionName,
-                         StringRef CoverageMapping, size_t FilenamesBegin,
-                         size_t FilenamesSize)
+                         uint64_t FunctionHash, StringRef CoverageMapping,
+                         size_t FilenamesBegin, size_t FilenamesSize)
         : Version(Version), FunctionName(FunctionName),
-          CoverageMapping(CoverageMapping), FilenamesBegin(FilenamesBegin),
-          FilenamesSize(FilenamesSize) {}
+          FunctionHash(FunctionHash), CoverageMapping(CoverageMapping),
+          FilenamesBegin(FilenamesBegin), FilenamesSize(FilenamesSize) {}
   };
 
 private:
Index: llvm/trunk/lib/ProfileData/CoverageMappingReader.cpp
===================================================================
--- llvm/trunk/lib/ProfileData/CoverageMappingReader.cpp
+++ llvm/trunk/lib/ProfileData/CoverageMappingReader.cpp
@@ -308,6 +308,7 @@
   IntPtrT FunctionNamePtr;
   uint32_t FunctionNameSize;
   uint32_t CoverageMappingSize;
+  uint64_t FunctionHash;
 };
 
 /// \brief The coverage mapping data for a single translation unit.
@@ -422,8 +423,8 @@
                                           FunctionName))
         return Err;
       Records.push_back(ObjectFileCoverageMappingReader::ProfileMappingRecord(
-          Version, FunctionName, Mapping, FilenamesBegin,
-          Filenames.size() - FilenamesBegin));
+          Version, FunctionName, MappingRecord.FunctionHash, Mapping,
+          FilenamesBegin, Filenames.size() - FilenamesBegin));
     }
   }
 
@@ -485,6 +486,7 @@
       FunctionsFilenames, Expressions, MappingRegions);
   if (auto Err = Reader.read(Record))
     return Err;
+  Record.FunctionHash = R.FunctionHash;
   ++CurrentRecord;
   return success();
 }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D4994.12795.patch
Type: text/x-patch
Size: 2599 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140821/cc2c70b1/attachment.bin>


More information about the llvm-commits mailing list