#ifndef LLVM_CODEGEN_MIRYAMLMAPPING_H
#define LLVM_CODEGEN_MIRYAMLMAPPING_H
#include "llvm/ADT/StringRef.h"
#include "llvm/CodeGen/MachineJumpTableInfo.h"
#include "llvm/CodeGen/TargetFrameLowering.h"
#include "llvm/Support/SMLoc.h"
#include "llvm/Support/YAMLTraits.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cstdint>
#include <optional>
#include <string>
#include <vector>
namespace llvm {
namespace yaml {
struct StringValue { … };
template <> struct ScalarTraits<StringValue> { … };
struct FlowStringValue : StringValue { … };
template <> struct ScalarTraits<FlowStringValue> { … };
struct BlockStringValue { … };
template <> struct BlockScalarTraits<BlockStringValue> { … };
struct UnsignedValue { … };
template <> struct ScalarTraits<UnsignedValue> { … };
template <> struct ScalarEnumerationTraits<MachineJumpTableInfo::JTEntryKind> { … };
template <> struct ScalarTraits<MaybeAlign> { … };
template <> struct ScalarTraits<Align> { … };
}
}
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::yaml::StringValue)
LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(llvm::yaml::FlowStringValue)
LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(llvm::yaml::UnsignedValue)
namespace llvm {
namespace yaml {
struct VirtualRegisterDefinition { … };
template <> struct MappingTraits<VirtualRegisterDefinition> { … };
struct MachineFunctionLiveIn { … };
template <> struct MappingTraits<MachineFunctionLiveIn> { … };
struct MachineStackObject { … };
template <> struct ScalarEnumerationTraits<MachineStackObject::ObjectType> { … };
template <> struct MappingTraits<MachineStackObject> { … };
struct EntryValueObject { … };
template <> struct MappingTraits<EntryValueObject> { … };
struct FixedMachineStackObject { … };
template <>
struct ScalarEnumerationTraits<FixedMachineStackObject::ObjectType> { … };
template <>
struct ScalarEnumerationTraits<TargetStackID::Value> { … };
template <> struct MappingTraits<FixedMachineStackObject> { … };
struct FrameIndex { … };
template <> struct ScalarTraits<FrameIndex> { … };
struct CallSiteInfo { … };
template <> struct MappingTraits<CallSiteInfo::ArgRegPair> { … };
}
}
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::yaml::CallSiteInfo::ArgRegPair)
namespace llvm {
namespace yaml {
template <> struct MappingTraits<CallSiteInfo> { … };
struct DebugValueSubstitution { … };
template <> struct MappingTraits<DebugValueSubstitution> { … };
}
}
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::yaml::DebugValueSubstitution)
namespace llvm {
namespace yaml {
struct MachineConstantPoolValue { … };
template <> struct MappingTraits<MachineConstantPoolValue> { … };
struct MachineJumpTable { … };
template <> struct MappingTraits<MachineJumpTable::Entry> { … };
}
}
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::yaml::MachineFunctionLiveIn)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::yaml::VirtualRegisterDefinition)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::yaml::MachineStackObject)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::yaml::EntryValueObject)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::yaml::FixedMachineStackObject)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::yaml::CallSiteInfo)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::yaml::MachineConstantPoolValue)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::yaml::MachineJumpTable::Entry)
namespace llvm {
namespace yaml {
template <> struct MappingTraits<MachineJumpTable> { … };
struct MachineFrameInfo { … };
template <> struct MappingTraits<MachineFrameInfo> { … };
struct MachineFunctionInfo { … };
template <> struct MappingTraits<std::unique_ptr<MachineFunctionInfo>> { … };
struct MachineFunction { … };
template <> struct MappingTraits<MachineFunction> { … };
}
}
#endif