LLVM 20.0.0git
CodeViewYAMLDebugSections.h
Go to the documentation of this file.
1//=- CodeViewYAMLDebugSections.h - CodeView YAMLIO debug sections -*- 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_CODEVIEWYAMLDEBUGSECTIONS_H
15#define LLVM_OBJECTYAML_CODEVIEWYAMLDEBUGSECTIONS_H
16
17#include "llvm/ADT/ArrayRef.h"
18#include "llvm/ADT/StringRef.h"
22#include "llvm/Support/Error.h"
24#include <cstdint>
25#include <memory>
26#include <vector>
27
28namespace llvm {
29
30namespace codeview {
31
32class StringsAndChecksums;
33class StringsAndChecksumsRef;
34
35} // end namespace codeview
36
37namespace CodeViewYAML {
38
39namespace detail {
40
42
43} // end namespace detail
44
55};
56
59 std::vector<uint32_t> ImportIds;
60};
61
67};
68
72};
73
76 std::vector<SourceLineEntry> Lines;
77 std::vector<SourceColumnEntry> Columns;
78};
79
81 std::vector<uint8_t> Bytes;
82};
83
88};
89
95 std::vector<SourceLineBlock> Blocks;
96};
97
102 std::vector<StringRef> ExtraFiles;
103};
104
107 std::vector<InlineeSite> Sites;
108};
109
114
115 std::shared_ptr<detail::YAMLSubsectionBase> Subsection;
116};
117
122
123std::vector<YAMLDebugSubsection>
125
128
129} // end namespace CodeViewYAML
130
131} // end namespace llvm
132
133LLVM_YAML_DECLARE_MAPPING_TRAITS(CodeViewYAML::YAMLDebugSubsection)
134
135LLVM_YAML_IS_SEQUENCE_VECTOR(CodeViewYAML::YAMLDebugSubsection)
136
137#endif // LLVM_OBJECTYAML_CODEVIEWYAMLDEBUGSECTIONS_H
Basic Register Allocator
#define LLVM_YAML_IS_SEQUENCE_VECTOR(type)
#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
Allocate memory in an ever growing pool, as if by bump-pointer.
Definition: Allocator.h:66
Tagged union holding either a T or a Error.
Definition: Error.h:481
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:51
void initializeStringsAndChecksums(ArrayRef< YAMLDebugSubsection > Sections, codeview::StringsAndChecksums &SC)
Expected< std::vector< std::shared_ptr< codeview::DebugSubsection > > > toCodeViewSubsectionList(BumpPtrAllocator &Allocator, ArrayRef< YAMLDebugSubsection > Subsections, const codeview::StringsAndChecksums &SC)
std::vector< YAMLDebugSubsection > fromDebugS(ArrayRef< uint8_t > Data, const codeview::StringsAndChecksumsRef &SC)
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
std::vector< SourceLineEntry > Lines
std::vector< SourceColumnEntry > Columns
std::vector< SourceLineBlock > Blocks
std::shared_ptr< detail::YAMLSubsectionBase > Subsection
static Expected< YAMLDebugSubsection > fromCodeViewSubection(const codeview::StringsAndChecksumsRef &SC, const codeview::DebugSubsectionRecord &SS)