LLVM 22.0.0git
llvm::WinCFGuard Class Reference

#include "CodeGen/AsmPrinter/WinCFGuard.h"

Inheritance diagram for llvm::WinCFGuard:
[legend]

Public Member Functions

 WinCFGuard (AsmPrinter *A)
 ~WinCFGuard () override
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.
Public Member Functions inherited from llvm::AsmPrinterHandler
virtual ~AsmPrinterHandler ()
 Pin vtables to this file.
virtual void beginModule (Module *M)
virtual void markFunctionEnd ()
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

Definition at line 23 of file WinCFGuard.h.

Constructor & Destructor Documentation

◆ WinCFGuard()

WinCFGuard::WinCFGuard ( AsmPrinter * A)

Definition at line 27 of file WinCFGuard.cpp.

References A().

◆ ~WinCFGuard()

WinCFGuard::~WinCFGuard ( )
overridedefault

References endModule().

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 39 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().

◆ endModule()

void WinCFGuard::endModule ( )
overridevirtual

Emit the Control Flow Guard function ID table.

Implements llvm::AsmPrinterHandler.

Definition at line 85 of file WinCFGuard.cpp.

References F, and isPossibleIndirectCallTarget().

Referenced by ~WinCFGuard().


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