diff options
Diffstat (limited to 'clang/lib/CodeGen/CoverageMappingGen.h')
-rw-r--r-- | clang/lib/CodeGen/CoverageMappingGen.h | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/clang/lib/CodeGen/CoverageMappingGen.h b/clang/lib/CodeGen/CoverageMappingGen.h index 5d79d1e6567..3bf51f59047 100644 --- a/clang/lib/CodeGen/CoverageMappingGen.h +++ b/clang/lib/CodeGen/CoverageMappingGen.h @@ -47,27 +47,17 @@ class CodeGenModule; /// Organizes the cross-function state that is used while generating /// code coverage mapping data. class CoverageMappingModuleGen { - /// Information needed to emit a coverage record for a function. - struct FunctionInfo { - uint64_t NameHash; - uint64_t FuncHash; - std::string CoverageMapping; - bool IsUsed; - }; - CodeGenModule &CGM; CoverageSourceInfo &SourceInfo; llvm::SmallDenseMap<const FileEntry *, unsigned, 8> FileEntries; + std::vector<llvm::Constant *> FunctionRecords; std::vector<llvm::Constant *> FunctionNames; - std::vector<FunctionInfo> FunctionRecords; - - /// Emit a function record. - void emitFunctionMappingRecord(const FunctionInfo &Info, - uint64_t FilenamesRef); + llvm::StructType *FunctionRecordTy; + std::vector<std::string> CoverageMappings; public: CoverageMappingModuleGen(CodeGenModule &CGM, CoverageSourceInfo &SourceInfo) - : CGM(CGM), SourceInfo(SourceInfo) {} + : CGM(CGM), SourceInfo(SourceInfo), FunctionRecordTy(nullptr) {} CoverageSourceInfo &getSourceInfo() const { return SourceInfo; |