-#define COVMAP_FUNC_RECORD(Type, LLVMType, Name, Init) Type Name;
-#include "llvm/ProfileData/InstrProfData.inc"
-
- // Return the structural hash associated with the function.
- template <support::endianness Endian> uint64_t getFuncHash() const {
- return support::endian::byte_swap<uint64_t, Endian>(FuncHash);
- }
- // Return the coverage map data size for the funciton.
- template <support::endianness Endian> uint32_t getDataSize() const {
- return support::endian::byte_swap<uint32_t, Endian>(DataSize);
- }
- // Return function lookup key. The value is consider opaque.
- template <support::endianness Endian> IntPtrT getFuncNameRef() const {
- return support::endian::byte_swap<IntPtrT, Endian>(NamePtr);
- }
- // Return the PGO name of the function */
- template <support::endianness Endian>
- std::error_code getFuncName(InstrProfSymtab &ProfileNames,
- StringRef &FuncName) const {
- IntPtrT NameRef = getFuncNameRef<Endian>();
- uint32_t NameS = support::endian::byte_swap<IntPtrT, Endian>(NameSize);
- FuncName = ProfileNames.getFuncName(NameRef, NameS);
- if (NameS && FuncName.empty())
- return coveragemap_error::malformed;
- return std::error_code();
- }