LLVM 22.0.0git
DWARFUnwindTablePrinter.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
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_DWARFUNWINDTABLEPRINTER_H
10#define LLVM_DEBUGINFO_DWARF_DWARFUNWINDTABLEPRINTER_H
11
14
15namespace llvm {
16
17struct DIDumpOptions;
18
19namespace dwarf {
20
21LLVM_ABI raw_ostream &operator<<(raw_ostream &OS, const UnwindLocation &R);
22
23LLVM_ABI raw_ostream &operator<<(raw_ostream &OS, const RegisterLocations &RL);
24
25LLVM_ABI raw_ostream &operator<<(raw_ostream &OS, const UnwindRow &Row);
26
27/// Print a UnwindTable to the stream.
28///
29/// \param Rows the UnwindTable to print.
30///
31/// \param OS the stream to use for output.
32///
33/// \param MRI register information that helps emit register names instead
34/// of raw register numbers.
35///
36/// \param IsEH true if the DWARF Call Frame Information is from .eh_frame
37/// instead of from .debug_frame. This is needed for register number
38/// conversion because some register numbers differ between the two sections
39/// for certain architectures like x86.
40///
41/// \param IndentLevel specify the indent level as an integer. The UnwindRow
42/// will be output to the stream preceded by 2 * IndentLevel number of spaces.
43LLVM_ABI void printUnwindTable(const UnwindTable &Rows, raw_ostream &OS,
44 DIDumpOptions DumpOpts,
45 unsigned IndentLevel = 0);
46LLVM_ABI raw_ostream &operator<<(raw_ostream &OS, const UnwindTable &Rows);
47
48} // end namespace dwarf
49
50} // end namespace llvm
51
52#endif // LLVM_DEBUGINFO_DWARF_DWARFUNWINDTABLEPRINTER_H
#define LLVM_ABI
Definition: Compiler.h:213
raw_pwrite_stream & OS
LLVM_ABI void printUnwindTable(const UnwindTable &Rows, raw_ostream &OS, DIDumpOptions DumpOpts, unsigned IndentLevel=0)
Print a UnwindTable to the stream.
LLVM_ABI raw_ostream & operator<<(raw_ostream &OS, const UnwindLocation &R)
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18