Lines Matching full:guard
1 //===-- CFGuard.cpp - Control Flow Guard checks -----------------*- C++ -*-===//
10 /// This file contains the IR transform to add Microsoft's Control Flow Guard
32 STATISTIC(CFGuardCounter, "Number of Control Flow Guard checks added");
36 /// Adds Control Flow Guard (CFG) checks on indirect function calls/invokes.
45 // Get or insert the guard check or dispatch global symbols. in CFGuardImpl()
56 /// Inserts a Control Flow Guard (CFG) check on an indirect call using the CFG
58 /// guard check function pointer in the __guard_check_icall_fptr global
60 /// function. The address of the target function is passed to the guard check
62 /// X15 on Aarch64, and R0 on ARM). The guard check function has no return
63 /// value (if the target is invalid, the guard check funtion will raise an
101 /// Inserts a Control Flow Guard (CFG) check on an indirect call using the CFG
103 /// appropriate guard check function pointer in the
177 "Control Flow Guard checks can only be added to indirect calls"); in insertCFGuardCheck()
206 "Control Flow Guard checks can only be added to indirect calls"); in insertCFGuardDispatch()
225 // Change the target of the call to be the guard dispatch function. in insertCFGuardDispatch()
246 // Set up prototypes for the guard check and dispatch functions. in doInitialization()