#ifndef LLVM_IR_MODULESUMMARYINDEXYAML_H
#define LLVM_IR_MODULESUMMARYINDEXYAML_H
#include "llvm/IR/ModuleSummaryIndex.h"
#include "llvm/Support/YAMLTraits.h"
namespace llvm {
namespace yaml {
template <> struct ScalarEnumerationTraits<TypeTestResolution::Kind> { … };
template <> struct MappingTraits<TypeTestResolution> { … };
template <>
struct ScalarEnumerationTraits<WholeProgramDevirtResolution::ByArg::Kind> { … };
template <> struct MappingTraits<WholeProgramDevirtResolution::ByArg> { … };
template <>
struct CustomMappingTraits<
std::map<std::vector<uint64_t>, WholeProgramDevirtResolution::ByArg>> { … };
template <> struct ScalarEnumerationTraits<WholeProgramDevirtResolution::Kind> { … };
template <> struct MappingTraits<WholeProgramDevirtResolution> { … };
template <>
struct CustomMappingTraits<std::map<uint64_t, WholeProgramDevirtResolution>> { … };
template <> struct MappingTraits<TypeIdSummary> { … };
struct FunctionSummaryYaml { … };
}
}
namespace llvm {
namespace yaml {
template <> struct MappingTraits<FunctionSummary::VFuncId> { … };
template <> struct MappingTraits<FunctionSummary::ConstVCall> { … };
}
}
LLVM_YAML_IS_SEQUENCE_VECTOR(FunctionSummary::VFuncId)
LLVM_YAML_IS_SEQUENCE_VECTOR(FunctionSummary::ConstVCall)
namespace llvm {
namespace yaml {
template <> struct MappingTraits<FunctionSummaryYaml> { … };
}
}
LLVM_YAML_IS_SEQUENCE_VECTOR(FunctionSummaryYaml)
namespace llvm {
namespace yaml {
template <> struct CustomMappingTraits<GlobalValueSummaryMapTy> { … };
template <> struct CustomMappingTraits<TypeIdSummaryMapTy> { … };
template <> struct MappingTraits<ModuleSummaryIndex> { … };
}
}
#endif