[clang] [llvm] [win] Add a flag to control the Control Flow Guard mechanism on Windows (PR #176276)

Daniel Paoliello via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 30 12:02:42 PST 2026


================
@@ -797,6 +798,21 @@ bool AArch64Arm64ECCallLowering::runOnModule(Module &Mod) {
   // Check if this module has the cfguard flag and read its value.
   CFGuardModuleFlag = M->getControlFlowGuardMode();
 
+  // Warn if the module flag requests an unsupported CFGuard mechanism.
+  if (CFGuardModuleFlag == ControlFlowGuardMode::Enabled) {
+    if (auto *CI = mdconst::dyn_extract_or_null<ConstantInt>(
+            Mod.getModuleFlag("cfguard-mechanism"))) {
----------------
dpaoliello wrote:

Fair enough. Added docs for both the existing `cfguard` and new `cfguard-mechanism` flags.

https://github.com/llvm/llvm-project/pull/176276


More information about the cfe-commits mailing list