53 lines
1.9 KiB
C++
53 lines
1.9 KiB
C++
//===----------------------------------------------------------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_DEBUGINFO_DWARF_DWARFUNWINDTABLEPRINTER_H
|
|
#define LLVM_DEBUGINFO_DWARF_DWARFUNWINDTABLEPRINTER_H
|
|
|
|
#include "llvm/DebugInfo/DWARF/LowLevel/DWARFUnwindTable.h"
|
|
#include "llvm/Support/Compiler.h"
|
|
|
|
namespace llvm {
|
|
|
|
struct DIDumpOptions;
|
|
|
|
namespace dwarf {
|
|
|
|
LLVM_ABI raw_ostream &operator<<(raw_ostream &OS, const UnwindLocation &R);
|
|
|
|
LLVM_ABI raw_ostream &operator<<(raw_ostream &OS, const RegisterLocations &RL);
|
|
|
|
LLVM_ABI raw_ostream &operator<<(raw_ostream &OS, const UnwindRow &Row);
|
|
|
|
/// Print a UnwindTable to the stream.
|
|
///
|
|
/// \param Rows the UnwindTable to print.
|
|
///
|
|
/// \param OS the stream to use for output.
|
|
///
|
|
/// \param MRI register information that helps emit register names instead
|
|
/// of raw register numbers.
|
|
///
|
|
/// \param IsEH true if the DWARF Call Frame Information is from .eh_frame
|
|
/// instead of from .debug_frame. This is needed for register number
|
|
/// conversion because some register numbers differ between the two sections
|
|
/// for certain architectures like x86.
|
|
///
|
|
/// \param IndentLevel specify the indent level as an integer. The UnwindRow
|
|
/// will be output to the stream preceded by 2 * IndentLevel number of spaces.
|
|
LLVM_ABI void printUnwindTable(const UnwindTable &Rows, raw_ostream &OS,
|
|
DIDumpOptions DumpOpts,
|
|
unsigned IndentLevel = 0);
|
|
LLVM_ABI raw_ostream &operator<<(raw_ostream &OS, const UnwindTable &Rows);
|
|
|
|
} // end namespace dwarf
|
|
|
|
} // end namespace llvm
|
|
|
|
#endif // LLVM_DEBUGINFO_DWARF_DWARFUNWINDTABLEPRINTER_H
|