LLVM  16.0.0git
Macros | Functions
CFGuardLongjmp.cpp File Reference
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/InitializePasses.h"
Include dependency graph for CFGuardLongjmp.cpp:

Go to the source code of this file.


#define DEBUG_TYPE   "cfguard-longjmp"


 STATISTIC (CFGuardLongjmpTargets, "Number of Control Flow Guard longjmp targets")
 INITIALIZE_PASS (CFGuardLongjmp, "CFGuardLongjmp", "Insert symbols at valid longjmp targets for /guard:cf", false, false) FunctionPass *llvm

Detailed Description

This file contains a machine function pass to insert a symbol after each call to _setjmp and store this in the MachineFunction's LongjmpTargets vector. This will be used to emit the table of valid longjmp targets used by Control Flow Guard.

Definition in file CFGuardLongjmp.cpp.

Macro Definition Documentation


#define DEBUG_TYPE   "cfguard-longjmp"

Definition at line 28 of file CFGuardLongjmp.cpp.

Function Documentation


"CFGuardLongjmp"  ,
"Insert symbols at valid longjmp targets for /guard:cf"  ,
false  ,

Definition at line 56 of file CFGuardLongjmp.cpp.


STATISTIC ( CFGuardLongjmpTargets  ,
"Number of Control Flow Guard longjmp targets