[clang] [clang] Function type attribute to prevent CFI instrumentation (PR #135836)
via cfe-commits
cfe-commits at lists.llvm.org
Tue May 20 11:06:10 PDT 2025
================
@@ -3006,6 +3006,10 @@ static LValue EmitFunctionDeclLValue(CodeGenFunction &CGF, const Expr *E,
GlobalDecl GD) {
const FunctionDecl *FD = cast<FunctionDecl>(GD.getDecl());
llvm::Constant *V = CGF.CGM.getFunctionPointer(GD);
+ if (E->getType()->isCFIUncheckedCalleeFunctionType()) {
+ if (auto *GV = dyn_cast<llvm::GlobalValue>(V))
+ V = llvm::NoCFIValue::get(GV);
+ }
CharUnits Alignment = CGF.getContext().getDeclAlign(FD);
return CGF.MakeAddrLValue(V, E->getType(), Alignment,
----------------
PiJoules wrote:
Done
https://github.com/llvm/llvm-project/pull/135836
More information about the cfe-commits
mailing list