LLVM 19.0.0git
CodeViewYAMLTypeHashing.h
Go to the documentation of this file.
1//==- CodeViewYAMLTypeHashing.h - CodeView YAMLIO Type hashing ----*- C++-*-==//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file defines classes for handling the YAML representation of CodeView
10// Debug Info.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_OBJECTYAML_CODEVIEWYAMLTYPEHASHING_H
15#define LLVM_OBJECTYAML_CODEVIEWYAMLTYPEHASHING_H
16
17#include "llvm/ADT/ArrayRef.h"
21#include "llvm/Support/Error.h"
23#include <cstdint>
24#include <memory>
25#include <vector>
26
27namespace llvm {
28
29namespace CodeViewYAML {
30
31struct GlobalHash {
32 GlobalHash() = default;
33 explicit GlobalHash(StringRef S) : Hash(S) {
34 assert(S.size() == 8 && "Invalid hash size!");
35 }
37 assert(S.size() == 8 && "Invalid hash size!");
38 }
40};
41
46 std::vector<GlobalHash> Hashes;
47};
48
52
53} // end namespace CodeViewYAML
54
55} // end namespace llvm
56
57LLVM_YAML_DECLARE_MAPPING_TRAITS(CodeViewYAML::DebugHSection)
58LLVM_YAML_DECLARE_SCALAR_TRAITS(CodeViewYAML::GlobalHash, QuotingType::None)
59LLVM_YAML_IS_SEQUENCE_VECTOR(CodeViewYAML::GlobalHash)
60
61#endif // LLVM_OBJECTYAML_CODEVIEWYAMLTYPEHASHING_H
This file defines the BumpPtrAllocator interface.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
#define LLVM_YAML_IS_SEQUENCE_VECTOR(type)
#define LLVM_YAML_DECLARE_SCALAR_TRAITS(Type, MustQuote)
#define LLVM_YAML_DECLARE_MAPPING_TRAITS(Type)
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Definition: ArrayRef.h:41
size_t size() const
size - Get the array size.
Definition: ArrayRef.h:165
Allocate memory in an ever growing pool, as if by bump-pointer.
Definition: Allocator.h:66
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:50
constexpr size_t size() const
size - Get the string size.
Definition: StringRef.h:137
Specialized YAMLIO scalar type for representing a binary blob.
Definition: YAML.h:63
ArrayRef< uint8_t > toDebugH(const DebugHSection &DebugH, BumpPtrAllocator &Alloc)
DebugHSection fromDebugH(ArrayRef< uint8_t > DebugH)
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18