LLVM  16.0.0git
DWARFCompileUnit.h
Go to the documentation of this file.
1 //===- DWARFCompileUnit.h ---------------------------------------*- 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 #ifndef LLVM_DEBUGINFO_DWARF_DWARFCOMPILEUNIT_H
10 #define LLVM_DEBUGINFO_DWARF_DWARFCOMPILEUNIT_H
11 
13 
14 namespace llvm {
15 
16 class DWARFContext;
17 class DWARFDebugAbbrev;
18 class raw_ostream;
19 struct DIDumpOptions;
20 struct DWARFSection;
21 
22 class DWARFCompileUnit : public DWARFUnit {
23 public:
24  DWARFCompileUnit(DWARFContext &Context, const DWARFSection &Section,
25  const DWARFUnitHeader &Header, const DWARFDebugAbbrev *DA,
26  const DWARFSection *RS, const DWARFSection *LocSection,
27  StringRef SS, const DWARFSection &SOS,
28  const DWARFSection *AOS, const DWARFSection &LS, bool LE,
29  bool IsDWO, const DWARFUnitVector &UnitVector)
30  : DWARFUnit(Context, Section, Header, DA, RS, LocSection, SS, SOS, AOS,
31  LS, LE, IsDWO, UnitVector) {}
32 
33  /// VTable anchor.
34  ~DWARFCompileUnit() override;
35  /// Dump this compile unit to \p OS.
36  void dump(raw_ostream &OS, DIDumpOptions DumpOpts) override;
37  /// Enable LLVM-style RTTI.
38  static bool classof(const DWARFUnit *U) { return !U->isTypeUnit(); }
39 };
40 
41 } // end namespace llvm
42 
43 #endif // LLVM_DEBUGINFO_DWARF_DWARFCOMPILEUNIT_H
llvm::DWARFSection
Definition: DWARFSection.h:16
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
llvm::DWARFCompileUnit::classof
static bool classof(const DWARFUnit *U)
Enable LLVM-style RTTI.
Definition: DWARFCompileUnit.h:38
llvm::DWARFContext
DWARFContext This data structure is the top level entity that deals with dwarf debug information pars...
Definition: DWARFContext.h:47
llvm::DWARFCompileUnit::~DWARFCompileUnit
~DWARFCompileUnit() override
VTable anchor.
llvm::X86AS::SS
@ SS
Definition: X86.h:201
Context
LLVMContext & Context
Definition: NVVMIntrRange.cpp:66
llvm::DWARFDebugAbbrev
Definition: DWARFDebugAbbrev.h:56
llvm::raw_ostream
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition: raw_ostream.h:53
llvm::AArch64CC::LE
@ LE
Definition: AArch64BaseInfo.h:268
llvm::DWARFCompileUnit
Definition: DWARFCompileUnit.h:22
llvm::DWARFCompileUnit::DWARFCompileUnit
DWARFCompileUnit(DWARFContext &Context, const DWARFSection &Section, const DWARFUnitHeader &Header, const DWARFDebugAbbrev *DA, const DWARFSection *RS, const DWARFSection *LocSection, StringRef SS, const DWARFSection &SOS, const DWARFSection *AOS, const DWARFSection &LS, bool LE, bool IsDWO, const DWARFUnitVector &UnitVector)
Definition: DWARFCompileUnit.h:24
llvm::AArch64PACKey::DA
@ DA
Definition: AArch64BaseInfo.h:821
llvm::DWARFUnit::isTypeUnit
bool isTypeUnit() const
Definition: DWARFUnit.h:329
llvm::DWARFUnitHeader
Base class describing the header of any kind of "unit." Some information is specific to certain unit ...
Definition: DWARFUnit.h:51
DWARFUnit.h
llvm::StringRef
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:50
llvm::DWARFCompileUnit::dump
void dump(raw_ostream &OS, DIDumpOptions DumpOpts) override
Dump this compile unit to OS.
Definition: DWARFCompileUnit.cpp:18
llvm::DWARFUnit
Definition: DWARFUnit.h:207
llvm::AArch64CC::LS
@ LS
Definition: AArch64BaseInfo.h:264
llvm::DIDumpOptions
Container for dump options that control which debug information will be dumped.
Definition: DIContext.h:188
llvm::DWARFUnitVector
Describe a collection of units.
Definition: DWARFUnit.h:124