LLVM 20.0.0git
|
#include "CodeGen/AsmPrinter/WinCFGuard.h"
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 vtable 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 | beginFunclet (const MachineBasicBlock &MBB, MCSymbol *Sym=nullptr) |
Emit target-specific EH funclet machinery. | |
virtual void | endFunclet () |
Definition at line 23 of file WinCFGuard.h.
WinCFGuard::WinCFGuard | ( | AsmPrinter * | A | ) |
Definition at line 28 of file WinCFGuard.cpp.
|
overridedefault |
|
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.
|
overridevirtual |
Gather post-function debug information.
Please note that some AsmPrinter implementations may not call beginFunction at all.
Implements llvm::AsmPrinterHandler.
Definition at line 32 of file WinCFGuard.cpp.
References llvm::append_range(), and llvm::MachineFunction::getLongjmpTargets().
|
overridevirtual |
Emit the Control Flow Guard function ID table.
Implements llvm::AsmPrinterHandler.
Definition at line 84 of file WinCFGuard.cpp.
References F, llvm::MCObjectFileInfo::getGFIDsSection(), llvm::MCObjectFileInfo::getGIATsSection(), llvm::MCObjectFileInfo::getGLJMPSection(), llvm::MachineModuleInfo::getModule(), llvm::MCContext::getObjectFileInfo(), llvm::AsmPrinter::getSymbol(), isPossibleIndirectCallTarget(), llvm::AsmPrinter::MMI, OS, llvm::AsmPrinter::OutContext, and llvm::AsmPrinter::OutStreamer.