From: Xinliang David Li Date: Thu, 5 Nov 2015 05:46:39 +0000 (+0000) Subject: Use profile data template file for covmap func record (NFC) X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cca12de64926ef1e3a1efa571ac99ab8869a6d87;p=clang Use profile data template file for covmap func record (NFC) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252147 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CoverageMappingGen.cpp b/lib/CodeGen/CoverageMappingGen.cpp index 0e170c468a..2486a496a2 100644 --- a/lib/CodeGen/CoverageMappingGen.cpp +++ b/lib/CodeGen/CoverageMappingGen.cpp @@ -910,24 +910,23 @@ static void dump(llvm::raw_ostream &OS, StringRef FunctionName, } void CoverageMappingModuleGen::addFunctionMappingRecord( - llvm::GlobalVariable *FunctionName, StringRef FunctionNameValue, - uint64_t FunctionHash, const std::string &CoverageMapping) { + llvm::GlobalVariable *NamePtr, StringRef NameValue, + uint64_t FuncHash, const std::string &CoverageMapping) { llvm::LLVMContext &Ctx = CGM.getLLVMContext(); - auto *Int32Ty = llvm::Type::getInt32Ty(Ctx); - auto *Int64Ty = llvm::Type::getInt64Ty(Ctx); - auto *Int8PtrTy = llvm::Type::getInt8PtrTy(Ctx); if (!FunctionRecordTy) { - llvm::Type *FunctionRecordTypes[] = {Int8PtrTy, Int32Ty, Int32Ty, Int64Ty}; + #define COVMAP_FUNC_RECORD(Type, LLVMType, Name, Init) LLVMType, + llvm::Type *FunctionRecordTypes[] = { + #include "llvm/ProfileData/InstrProfData.inc" + }; FunctionRecordTy = llvm::StructType::get(Ctx, makeArrayRef(FunctionRecordTypes), /*isPacked=*/true); } + #define COVMAP_FUNC_RECORD(Type, LLVMType, Name, Init) Init, llvm::Constant *FunctionRecordVals[] = { - llvm::ConstantExpr::getBitCast(FunctionName, Int8PtrTy), - llvm::ConstantInt::get(Int32Ty, FunctionNameValue.size()), - llvm::ConstantInt::get(Int32Ty, CoverageMapping.size()), - llvm::ConstantInt::get(Int64Ty, FunctionHash)}; + #include "llvm/ProfileData/InstrProfData.inc" + }; FunctionRecords.push_back(llvm::ConstantStruct::get( FunctionRecordTy, makeArrayRef(FunctionRecordVals))); CoverageMappings += CoverageMapping; @@ -949,7 +948,7 @@ void CoverageMappingModuleGen::addFunctionMappingRecord( Expressions, Regions); if (Reader.read()) return; - dump(llvm::outs(), FunctionNameValue, Expressions, Regions); + dump(llvm::outs(), NameValue, Expressions, Regions); } }