|
LLVM
3.7.0
|
Collects and handles line tables information in a CodeView format. More...
#include <WinCodeViewLineTables.h>
Public Member Functions | |
| WinCodeViewLineTables (AsmPrinter *Asm) | |
| ~WinCodeViewLineTables () override | |
| void | setSymbolSize (const llvm::MCSymbol *, uint64_t) override |
| For symbols that have a size designated (e.g. More... | |
| void | endModule () override |
| Emit the COFF section that holds the line table information. More... | |
| void | beginFunction (const MachineFunction *MF) override |
| Gather pre-function debug information. More... | |
| void | endFunction (const MachineFunction *) override |
| Gather post-function debug information. More... | |
| void | beginInstruction (const MachineInstr *MI) override |
| Process beginning of an instruction. More... | |
| void | endInstruction () override |
| Process end of an instruction. More... | |
Public Member Functions inherited from llvm::AsmPrinterHandler | |
| virtual | ~AsmPrinterHandler () |
| Pin vtable to this file. More... | |
| virtual void | markFunctionEnd () |
Collects and handles line tables information in a CodeView format.
Definition at line 32 of file WinCodeViewLineTables.h.
| llvm::WinCodeViewLineTables::WinCodeViewLineTables | ( | AsmPrinter * | Asm | ) |
Definition at line 103 of file WinCodeViewLineTables.cpp.
References llvm::MCObjectFileInfo::getCOFFDebugSymbolsSection(), llvm::MachineModuleInfo::getModule(), llvm::Module::getNamedMetadata(), llvm::AsmPrinter::getObjFileLowering(), llvm::AsmPrinter::MMI, and llvm::MachineModuleInfo::setDebugInfoAvailability().
|
inlineoverride |
Definition at line 119 of file WinCodeViewLineTables.h.
References I.
|
overridevirtual |
Gather pre-function debug information.
Implements llvm::AsmPrinterHandler.
Definition at line 331 of file WinCodeViewLineTables.cpp.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count(), llvm::MachineInstr::FrameSetup, llvm::DebugLoc::getFnDebugLoc(), llvm::MachineFunction::getFunction(), llvm::MachineModuleInfo::hasDebugInfo(), llvm::AArch64CC::MI, and llvm::AsmPrinter::MMI.
|
overridevirtual |
Process beginning of an instruction.
Implements llvm::AsmPrinterHandler.
Definition at line 388 of file WinCodeViewLineTables.cpp.
References llvm::MachineInstr::FrameSetup, llvm::MachineInstr::getDebugLoc(), llvm::MachineInstr::getFlag(), llvm::MachineInstr::isDebugValue(), and llvm::AsmPrinter::MF.
|
overridevirtual |
Gather post-function debug information.
Implements llvm::AsmPrinterHandler.
Definition at line 371 of file WinCodeViewLineTables.cpp.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase(), llvm::MachineFunction::getFunction(), and llvm::AsmPrinter::getFunctionEnd().
|
inlineoverridevirtual |
Process end of an instruction.
Implements llvm::AsmPrinterHandler.
Definition at line 142 of file WinCodeViewLineTables.h.
|
overridevirtual |
Emit the COFF section that holds the line table information.
Implements llvm::AsmPrinterHandler.
Definition at line 118 of file WinCodeViewLineTables.cpp.
References llvm::COFF::DEBUG_INDEX_SUBSECTION, llvm::COFF::DEBUG_SECTION_MAGIC, llvm::COFF::DEBUG_STRING_TABLE_SUBSECTION, llvm::AsmPrinter::EmitInt32(), llvm::AsmPrinter::EmitInt8(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::empty(), llvm::MCObjectFileInfo::getCOFFDebugSymbolsSection(), llvm::AsmPrinter::getObjFileLowering(), I, and llvm::AsmPrinter::OutStreamer.
|
inlineoverridevirtual |
For symbols that have a size designated (e.g.
common symbols), this tracks that size.
Implements llvm::AsmPrinterHandler.
Definition at line 127 of file WinCodeViewLineTables.h.
1.8.6