13#ifndef LLVM_CLANG_LIB_CODEGEN_CODEGENPGO_H
14#define LLVM_CLANG_LIB_CODEGEN_CODEGENPGO_H
20#include "llvm/ProfileData/InstrProfReader.h"
33 llvm::GlobalVariable *FuncNameVar;
35 std::array <unsigned, llvm::IPVK_Last + 1> NumValueSites;
36 unsigned NumRegionCounters;
37 uint64_t FunctionHash;
38 std::unique_ptr<llvm::DenseMap<const Stmt *, CounterPair>> RegionCounterMap;
39 std::unique_ptr<llvm::DenseMap<const Stmt *, uint64_t>> StmtCountMap;
40 std::unique_ptr<llvm::InstrProfRecord> ProfRecord;
41 std::unique_ptr<MCDC::State> RegionMCDCState;
42 std::vector<uint64_t> RegionCounts;
43 uint64_t CurrentRegionCount;
47 : CGM(CGModule), FuncNameVar(nullptr), NumValueSites({{0}}),
48 NumRegionCounters(0), FunctionHash(0), CurrentRegionCount(0) {}
68 auto I = StmtCountMap->find(S);
69 if (I == StmtCountMap->end())