LLVM 22.0.0git
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:
[legend]

Public Member Functions

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

Detailed Description

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

Definition at line 34 of file AsmPrinterHandler.h.

Constructor & Destructor Documentation

◆ ~AsmPrinterHandler()

AsmPrinterHandler::~AsmPrinterHandler ( )
virtualdefault

Pin vtables to this file.

Member Function Documentation

◆ beginBasicBlockSection()

virtual void llvm::AsmPrinterHandler::beginBasicBlockSection ( const MachineBasicBlock & MBB)
inlinevirtual

Process the beginning of a new basic-block-section within a function.

Always called immediately after beginFunction for the first basic-block. When basic-block-sections are enabled, called before the first block of each such section.

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

Definition at line 59 of file AsmPrinterHandler.h.

References MBB.

◆ beginCodeAlignment()

virtual void llvm::AsmPrinterHandler::beginCodeAlignment ( const MachineBasicBlock & MBB)
inlinevirtual

Reimplemented in llvm::DwarfDebug.

Definition at line 78 of file AsmPrinterHandler.h.

References MBB.

◆ 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 81 of file AsmPrinterHandler.h.

References MBB.

◆ 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::AIXException, llvm::ARMException, llvm::DebugHandlerBase, llvm::DwarfCFIException, llvm::WasmException, llvm::WinCFGuard, and llvm::WinException.

References markFunctionEnd().

◆ beginInstruction()

virtual void llvm::AsmPrinterHandler::beginInstruction ( const MachineInstr * MI)
inlinevirtual

Process beginning of an instruction.

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

Definition at line 73 of file AsmPrinterHandler.h.

References MI.

◆ beginModule()

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

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

Definition at line 38 of file AsmPrinterHandler.h.

◆ endBasicBlockSection()

virtual void llvm::AsmPrinterHandler::endBasicBlockSection ( const MachineBasicBlock & MBB)
inlinevirtual

Process the end of a basic-block-section within a function.

When basic-block-sections are enabled, called after the last block in each such section (including the last section in the function). When basic-block-sections are disabled, called at the end of a function, immediately prior to markFunctionEnd.

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

Definition at line 66 of file AsmPrinterHandler.h.

References MBB.

◆ endFunclet()

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

Reimplemented in llvm::WinException.

Definition at line 83 of file AsmPrinterHandler.h.

◆ endFunction()

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

◆ endInstruction()

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

Process end of an instruction.

Reimplemented in llvm::DebugHandlerBase.

Definition at line 76 of file AsmPrinterHandler.h.

◆ endModule()

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

◆ markFunctionEnd()

void AsmPrinterHandler::markFunctionEnd ( )
virtual

Reimplemented in llvm::ARMException, and llvm::WinException.

Definition at line 4707 of file AsmPrinter.cpp.

Referenced by beginFunction().

◆ setSymbolSize()

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

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

common symbols), this tracks that size.

Reimplemented in llvm::DwarfDebug.

Definition at line 70 of file AsmPrinterHandler.h.

References Size.


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