|
LLVM
4.0.0
|
#include "llvm/DebugInfo/DWARF/DWARFDebugFrame.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/Optional.h"#include "llvm/ADT/SmallString.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/StringRef.h"#include "llvm/Support/Casting.h"#include "llvm/Support/Compiler.h"#include "llvm/Support/DataExtractor.h"#include "llvm/Support/Dwarf.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/Format.h"#include "llvm/Support/raw_ostream.h"#include <algorithm>#include <cassert>#include <cinttypes>#include <cstdint>#include <string>#include <vector>Go to the source code of this file.
Classes | |
| class | llvm::FrameEntry |
| Abstract frame entry defining the common interface concrete entries implement. More... | |
| struct | llvm::FrameEntry::Instruction |
Macros | |
| #define | DECLARE_OP2(OP, OPTYPE0, OPTYPE1) |
| #define | DECLARE_OP1(OP, OPTYPE0) DECLARE_OP2(OP, OPTYPE0, OT_None) |
| #define | DECLARE_OP0(OP) DECLARE_OP1(OP, OT_None) |
Enumerations | |
| enum | OperandType |
| Types of operands to CF instructions. More... | |
Functions | |
| static ArrayRef< OperandType[2]> | getOperandTypes () |
| Initialize the array describing the types of operands. More... | |
| static void | printOperand (raw_ostream &OS, uint8_t Opcode, unsigned OperandIdx, uint64_t Operand, uint64_t CodeAlignmentFactor, int64_t DataAlignmentFactor) |
Print Opcode's operand number OperandIdx which has value Operand. More... | |
| static void LLVM_ATTRIBUTE_UNUSED | dumpDataAux (DataExtractor Data, uint32_t Offset, int Length) |
| static unsigned | getSizeForEncoding (const DataExtractor &Data, unsigned symbolEncoding) |
| static uint64_t | readPointer (const DataExtractor &Data, uint32_t &Offset, unsigned Encoding) |
Variables | |
| const uint8_t | DWARF_CFI_PRIMARY_OPCODE_MASK = 0xc0 |
| const uint8_t | DWARF_CFI_PRIMARY_OPERAND_MASK = 0x3f |
| static ArrayRef< OperandType[2]> | OpTypes = getOperandTypes() |
| #define DECLARE_OP0 | ( | OP | ) | DECLARE_OP1(OP, OT_None) |
Referenced by getOperandTypes().
| #define DECLARE_OP1 | ( | OP, | |
| OPTYPE0 | |||
| ) | DECLARE_OP2(OP, OPTYPE0, OT_None) |
Referenced by getOperandTypes().
| #define DECLARE_OP2 | ( | OP, | |
| OPTYPE0, | |||
| OPTYPE1 | |||
| ) |
Referenced by getOperandTypes().
| enum OperandType |
Types of operands to CF instructions.
Definition at line 323 of file DWARFDebugFrame.cpp.
|
static |
Definition at line 473 of file DWARFDebugFrame.cpp.
References llvm::errs(), llvm::DataExtractor::getU8(), i, and llvm::raw_ostream::write_hex().
|
static |
Initialize the array describing the types of operands.
Definition at line 338 of file DWARFDebugFrame.cpp.
References DECLARE_OP0, DECLARE_OP1, DECLARE_OP2, and OpTypes.
|
static |
Definition at line 483 of file DWARFDebugFrame.cpp.
References llvm::dwarf::DW_EH_PE_absptr, llvm::dwarf::DW_EH_PE_sdata2, llvm::dwarf::DW_EH_PE_sdata4, llvm::dwarf::DW_EH_PE_sdata8, llvm::dwarf::DW_EH_PE_signed, llvm::dwarf::DW_EH_PE_udata2, llvm::dwarf::DW_EH_PE_udata4, llvm::dwarf::DW_EH_PE_udata8, llvm::format(), llvm::DataExtractor::getAddressSize(), and llvm_unreachable.
Referenced by readPointer().
|
static |
Print Opcode's operand number OperandIdx which has value Operand.
Definition at line 390 of file DWARFDebugFrame.cpp.
References assert(), llvm::dwarf::CallFrameString(), llvm::format(), and OpTypes.
Referenced by llvm::FrameEntry::dumpInstructions().
|
static |
Definition at line 503 of file DWARFDebugFrame.cpp.
References getSizeForEncoding(), llvm::DataExtractor::getU16(), llvm::DataExtractor::getU32(), llvm::DataExtractor::getU64(), and llvm_unreachable.
Referenced by llvm::DWARFDebugFrame::parse().
| const uint8_t DWARF_CFI_PRIMARY_OPCODE_MASK = 0xc0 |
Definition at line 104 of file DWARFDebugFrame.cpp.
Referenced by llvm::FrameEntry::dumpInstructions(), and llvm::FrameEntry::parseInstructions().
| const uint8_t DWARF_CFI_PRIMARY_OPERAND_MASK = 0x3f |
Definition at line 105 of file DWARFDebugFrame.cpp.
Referenced by llvm::FrameEntry::parseInstructions().
|
static |
Definition at line 386 of file DWARFDebugFrame.cpp.
Referenced by getOperandTypes(), and printOperand().
1.8.6