LLVM 19.0.0git
Public Member Functions | List of all members
llvm::WinCFGuard Class Reference

#include "CodeGen/AsmPrinter/WinCFGuard.h"

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

Public Member Functions

 WinCFGuard (AsmPrinter *A)
 
 ~WinCFGuard () override
 
void setSymbolSize (const MCSymbol *Sym, uint64_t Size) override
 For symbols that have a size designated (e.g.
 
void endModule () override
 Emit the Control Flow Guard function ID table.
 
void beginFunction (const MachineFunction *MF) override
 Gather pre-function debug information.
 
void endFunction (const MachineFunction *MF) override
 Gather post-function debug information.
 
void beginInstruction (const MachineInstr *MI) override
 Process beginning of an instruction.
 
void endInstruction () override
 Process end of an instruction.
 
- Public Member Functions inherited from llvm::AsmPrinterHandler
virtual ~AsmPrinterHandler ()
 Pin vtable to this file.
 
virtual void setSymbolSize (const MCSymbol *Sym, uint64_t Size)=0
 For symbols that have a size designated (e.g.
 
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 beginFunclet (const MachineBasicBlock &MBB, MCSymbol *Sym=nullptr)
 Emit target-specific EH funclet machinery.
 
virtual void endFunclet ()
 
virtual void beginInstruction (const MachineInstr *MI)=0
 Process beginning of an instruction.
 
virtual void endInstruction ()=0
 Process end of an instruction.
 

Detailed Description

Definition at line 23 of file WinCFGuard.h.

Constructor & Destructor Documentation

◆ WinCFGuard()

WinCFGuard::WinCFGuard ( AsmPrinter A)

Definition at line 27 of file WinCFGuard.cpp.

◆ ~WinCFGuard()

WinCFGuard::~WinCFGuard ( )
overridedefault

Member Function Documentation

◆ beginFunction()

void llvm::WinCFGuard::beginFunction ( const MachineFunction MF)
inlineoverridevirtual

Gather pre-function debug information.

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

Implements llvm::AsmPrinterHandler.

Definition at line 41 of file WinCFGuard.h.

◆ beginInstruction()

void llvm::WinCFGuard::beginInstruction ( const MachineInstr MI)
inlineoverridevirtual

Process beginning of an instruction.

Implements llvm::AsmPrinterHandler.

Definition at line 49 of file WinCFGuard.h.

◆ endFunction()

void WinCFGuard::endFunction ( const MachineFunction MF)
overridevirtual

Gather post-function debug information.

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

Implements llvm::AsmPrinterHandler.

Definition at line 31 of file WinCFGuard.cpp.

References llvm::append_range(), and llvm::MachineFunction::getLongjmpTargets().

◆ endInstruction()

void llvm::WinCFGuard::endInstruction ( )
inlineoverridevirtual

Process end of an instruction.

Implements llvm::AsmPrinterHandler.

Definition at line 52 of file WinCFGuard.h.

◆ endModule()

void WinCFGuard::endModule ( )
overridevirtual

◆ setSymbolSize()

void llvm::WinCFGuard::setSymbolSize ( const MCSymbol Sym,
uint64_t  Size 
)
inlineoverridevirtual

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

common symbols), this tracks that size.

Implements llvm::AsmPrinterHandler.

Definition at line 33 of file WinCFGuard.h.


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