[llvm] [ForceFunctionAttrs] Fix handling of conflicts for more attributes (PR #186304)
Justin Fargnoli via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 13 18:09:36 PDT 2026
================
@@ -45,10 +45,46 @@ static cl::opt<std::string> CSVFilePath(
"add to them in the form of `f1,attr1` or `f2,attr2=str`."));
static bool hasConflictingFnAttr(Attribute::AttrKind Kind, Function &F) {
- if (Kind == Attribute::AlwaysInline)
- return F.hasFnAttribute(Attribute::NoInline);
- if (Kind == Attribute::NoInline)
+ switch (Kind) {
+ case Attribute::AlwaysInline:
+ return F.hasFnAttribute(Attribute::NoInline) ||
+ F.hasFnAttribute(Attribute::OptimizeNone);
+
+ case Attribute::NoInline:
return F.hasFnAttribute(Attribute::AlwaysInline);
+
+ case Attribute::OptimizeNone:
+ return F.hasFnAttribute(Attribute::AlwaysInline) ||
----------------
justinfargnoli wrote:
ditto https://github.com/llvm/llvm-project/pull/186304/changes#r2934405790
https://github.com/llvm/llvm-project/pull/186304
More information about the llvm-commits
mailing list