LLVM  13.0.0git
Public Member Functions | List of all members
llvm::AsmPrinterHandler Class Referenceabstract

Collects and handles AsmPrinter objects required to build debug or EH information. More...

#include "llvm/CodeGen/AsmPrinterHandler.h"

Inheritance diagram for llvm::AsmPrinterHandler:
Inheritance graph
[legend]

Public Member Functions

virtual ~AsmPrinterHandler ()
 Pin vtable to this file. More...
 
virtual void setSymbolSize (const MCSymbol *Sym, uint64_t Size)=0
 For symbols that have a size designated (e.g. More...
 
virtual void beginModule (Module *M)
 
virtual void endModule ()=0
 Emit all sections that should come after the content. More...
 
virtual void beginFunction (const MachineFunction *MF)=0
 Gather pre-function debug information. More...
 
virtual void markFunctionEnd ()
 
virtual void endFunction (const MachineFunction *MF)=0
 Gather post-function debug information. More...
 
virtual void beginFragment (const MachineBasicBlock *MBB, ExceptionSymbolProvider ESP)
 
virtual void endFragment ()
 
virtual void beginFunclet (const MachineBasicBlock &MBB, MCSymbol *Sym=nullptr)
 Emit target-specific EH funclet machinery. More...
 
virtual void endFunclet ()
 
virtual void beginInstruction (const MachineInstr *MI)=0
 Process beginning of an instruction. More...
 
virtual void endInstruction ()=0
 Process end of an instruction. More...
 
virtual void beginBasicBlock (const MachineBasicBlock &MBB)
 Process beginning of a basic block during basic block sections. More...
 
virtual void endBasicBlock (const MachineBasicBlock &MBB)
 Process end of a basic block during basic block sections. More...
 

Detailed Description

Collects and handles AsmPrinter objects required to build debug or EH information.

Definition at line 33 of file AsmPrinterHandler.h.

Constructor & Destructor Documentation

◆ ~AsmPrinterHandler()

AsmPrinterHandler::~AsmPrinterHandler ( )
virtualdefault

Pin vtable to this file.

Member Function Documentation

◆ beginBasicBlock()

virtual void llvm::AsmPrinterHandler::beginBasicBlock ( const MachineBasicBlock MBB)
inlinevirtual

Process beginning of a basic block during basic block sections.

Reimplemented in llvm::DebugHandlerBase, and llvm::DwarfCFIException.

Definition at line 76 of file AsmPrinterHandler.h.

◆ beginFragment()

virtual void llvm::AsmPrinterHandler::beginFragment ( const MachineBasicBlock MBB,
ExceptionSymbolProvider  ESP 
)
inlinevirtual

Reimplemented in llvm::DwarfCFIException.

Definition at line 60 of file AsmPrinterHandler.h.

◆ beginFunclet()

virtual void llvm::AsmPrinterHandler::beginFunclet ( const MachineBasicBlock MBB,
MCSymbol Sym = nullptr 
)
inlinevirtual

Emit target-specific EH funclet machinery.

Reimplemented in llvm::WinException.

Definition at line 65 of file AsmPrinterHandler.h.

◆ beginFunction()

virtual void llvm::AsmPrinterHandler::beginFunction ( const MachineFunction MF)
pure virtual

Gather pre-function debug information.

Every beginFunction(MF) call should be followed by an endFunction(MF) call.

Implemented in llvm::DebugHandlerBase, llvm::AIXException, llvm::WinException, llvm::ARMException, llvm::DwarfCFIException, llvm::PseudoProbeHandler, llvm::WinCFGuard, and llvm::WasmException.

◆ beginInstruction()

virtual void llvm::AsmPrinterHandler::beginInstruction ( const MachineInstr MI)
pure virtual

◆ beginModule()

virtual void llvm::AsmPrinterHandler::beginModule ( Module M)
inlinevirtual

Reimplemented in llvm::DwarfDebug, llvm::CodeViewDebug, and llvm::DebugHandlerBase.

Definition at line 41 of file AsmPrinterHandler.h.

◆ endBasicBlock()

virtual void llvm::AsmPrinterHandler::endBasicBlock ( const MachineBasicBlock MBB)
inlinevirtual

Process end of a basic block during basic block sections.

Reimplemented in llvm::DebugHandlerBase, and llvm::DwarfCFIException.

Definition at line 79 of file AsmPrinterHandler.h.

◆ endFragment()

virtual void llvm::AsmPrinterHandler::endFragment ( )
inlinevirtual

Reimplemented in llvm::DwarfCFIExceptionBase.

Definition at line 62 of file AsmPrinterHandler.h.

◆ endFunclet()

virtual void llvm::AsmPrinterHandler::endFunclet ( )
inlinevirtual

Reimplemented in llvm::WinException.

Definition at line 67 of file AsmPrinterHandler.h.

◆ endFunction()

virtual void llvm::AsmPrinterHandler::endFunction ( const MachineFunction MF)
pure virtual

Gather post-function debug information.

Please note that some AsmPrinter implementations may not call beginFunction at all.

Implemented in llvm::DebugHandlerBase, llvm::AIXException, llvm::WinCFGuard, llvm::PseudoProbeHandler, llvm::WasmException, llvm::WinException, llvm::ARMException, and llvm::DwarfCFIException.

◆ endInstruction()

virtual void llvm::AsmPrinterHandler::endInstruction ( )
pure virtual

Process end of an instruction.

Implemented in llvm::EHStreamer, llvm::DebugHandlerBase, llvm::WinCFGuard, and llvm::PseudoProbeHandler.

◆ endModule()

virtual void llvm::AsmPrinterHandler::endModule ( )
pure virtual

◆ markFunctionEnd()

void AsmPrinterHandler::markFunctionEnd ( )
virtual

Reimplemented in llvm::WinException, llvm::DwarfCFIExceptionBase, and llvm::WasmException.

Definition at line 3353 of file AsmPrinter.cpp.

◆ setSymbolSize()

virtual void llvm::AsmPrinterHandler::setSymbolSize ( const MCSymbol Sym,
uint64_t  Size 
)
pure virtual

For symbols that have a size designated (e.g.

common symbols), this tracks that size.

Implemented in llvm::BTFDebug, llvm::DwarfDebug, llvm::EHStreamer, llvm::PseudoProbeHandler, llvm::WinCFGuard, and llvm::CodeViewDebug.


The documentation for this class was generated from the following files: