[llvm-branch-commits] [clang] [NFC][clang][CodeGen] Remove redundant AlwaysInline on .inline builtin clones (PR #234095)

Vitaly Buka via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Tue Oct 20 23:18:39 PDT 2026


https://github.com/vitalybuka created https://github.com/llvm/llvm-project/pull/234095

`isInlineBuiltinDeclaration()` requires `AlwaysInlineAttr`, which is already
applied to `Clone` via `Fn->getAttributes()` and
`SetLLVMFunctionAttributesForDefinition`.

>From 45ed46a6c9079d82b41f26d08584ffeb013c3602 Mon Sep 17 00:00:00 2001
From: Vitaly Buka <vitalybuka at google.com>
Date: Tue, 20 Oct 2026 23:18:02 -0700
Subject: [PATCH] Remove redundant CGExpr.cpp changes and add 4th PR

Created using spr 2.0.0-beta.1
---
 clang/lib/CodeGen/CGExpr.cpp          | 4 +---
 clang/lib/CodeGen/CodeGenFunction.cpp | 1 -
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp
index f6810d84cd235..c48d0349643ab 100644
--- a/clang/lib/CodeGen/CGExpr.cpp
+++ b/clang/lib/CodeGen/CGExpr.cpp
@@ -6719,12 +6719,10 @@ static CGCallee EmitDirectCallee(CodeGenFunction &CGF, GlobalDecl GD) {
       llvm::Function *Fn = llvm::cast<llvm::Function>(CalleePtr);
       llvm::Module *M = Fn->getParent();
       llvm::Function *Clone = M->getFunction(FDInlineName);
-      if (!Clone) {
+      if (!Clone)
         Clone = llvm::Function::Create(Fn->getFunctionType(),
                                        llvm::GlobalValue::InternalLinkage,
                                        Fn->getAddressSpace(), FDInlineName, M);
-        Clone->addFnAttr(llvm::Attribute::AlwaysInline);
-      }
       return CGCallee::forDirect(Clone, GD);
     }
 
diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp
index 51588a7ebc556..f9423ff503447 100644
--- a/clang/lib/CodeGen/CodeGenFunction.cpp
+++ b/clang/lib/CodeGen/CodeGenFunction.cpp
@@ -1508,7 +1508,6 @@ void CodeGenFunction::GenerateCode(GlobalDecl GD, llvm::Function *Fn,
     Clone->setCallingConv(Fn->getCallingConv());
     Clone->setAttributes(Fn->getAttributes());
     CGM.SetLLVMFunctionAttributesForDefinition(FD, Clone);
-    Clone->addFnAttr(llvm::Attribute::AlwaysInline);
     Fn->setLinkage(llvm::GlobalValue::ExternalLinkage);
     Fn = Clone;
   } else {



More information about the llvm-branch-commits mailing list