LLVM 22.0.0git
Macros | Typedefs | Functions | Variables
CFGuard.cpp File Reference

This file contains the IR transform to add Microsoft's Control Flow Guard checks on Windows targets. More...

#include "llvm/Transforms/CFGuard.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Module.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/TargetParser/Triple.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "cfguard"
 

Typedefs

using OperandBundleDef = OperandBundleDefT< Value * >
 

Functions

 STATISTIC (CFGuardCounter, "Number of Control Flow Guard checks added")
 

Variables

constexpr StringRef GuardCheckFunctionName = "__guard_check_icall_fptr"
 
constexpr StringRef GuardDispatchFunctionName = "__guard_dispatch_icall_fptr"
 

Detailed Description

This file contains the IR transform to add Microsoft's Control Flow Guard checks on Windows targets.

Definition in file CFGuard.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "cfguard"

Definition at line 30 of file CFGuard.cpp.

Typedef Documentation

◆ OperandBundleDef

Definition at line 28 of file CFGuard.cpp.

Function Documentation

◆ STATISTIC()

STATISTIC ( CFGuardCounter  ,
"Number of Control Flow Guard checks added"   
)

Variable Documentation

◆ GuardCheckFunctionName

constexpr StringRef GuardCheckFunctionName = "__guard_check_icall_fptr"
constexpr

Definition at line 34 of file CFGuard.cpp.

Referenced by llvm::isCFGuardFunction().

◆ GuardDispatchFunctionName

constexpr StringRef GuardDispatchFunctionName = "__guard_dispatch_icall_fptr"
constexpr

Definition at line 35 of file CFGuard.cpp.

Referenced by llvm::isCFGuardFunction().