llvm/llvm/lib/Support/AMDGPUMetadata.cpp

//===--- AMDGPUMetadata.cpp -------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
/// \file
/// AMDGPU metadata definitions and in-memory representations.
///
//
//===----------------------------------------------------------------------===//

#include "llvm/Support/AMDGPUMetadata.h"
#include "llvm/Support/YAMLTraits.h"
#include <optional>

usingnamespacellvm::AMDGPU;
usingnamespacellvm::AMDGPU::HSAMD;

LLVM_YAML_IS_SEQUENCE_VECTOR(Kernel::Arg::Metadata)
LLVM_YAML_IS_SEQUENCE_VECTOR(Kernel::Metadata)

namespace llvm {
namespace yaml {

template <>
struct ScalarEnumerationTraits<AccessQualifier> {};

template <>
struct ScalarEnumerationTraits<AddressSpaceQualifier> {};

template <>
struct ScalarEnumerationTraits<ValueKind> {};

template <>
struct ScalarEnumerationTraits<ValueType> {};

template <>
struct MappingTraits<Kernel::Attrs::Metadata> {};

template <>
struct MappingTraits<Kernel::Arg::Metadata> {};

template <>
struct MappingTraits<Kernel::CodeProps::Metadata> {};

template <>
struct MappingTraits<Kernel::DebugProps::Metadata> {};

template <>
struct MappingTraits<Kernel::Metadata> {};

template <>
struct MappingTraits<HSAMD::Metadata> {};

} // end namespace yaml

namespace AMDGPU {
namespace HSAMD {

std::error_code fromString(StringRef String, Metadata &HSAMetadata) {}

std::error_code toString(Metadata HSAMetadata, std::string &String) {}

} // end namespace HSAMD
} // end namespace AMDGPU
} // end namespace llvm