[llvm] [llvm][AArch64] Do not inline a function with different signing scheme. (PR #80642)

Nick Desaulniers via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 21 09:47:07 PST 2024


================
@@ -87,7 +87,12 @@ void Attributes::emitFnAttrCompatCheck(raw_ostream &OS, bool IsStringAttr) {
 
   for (auto *Rule : CompatRules) {
     StringRef FuncName = Rule->getValueAsString("CompatFunc");
-    OS << "  Ret &= " << FuncName << "(Caller, Callee);\n";
+    StringRef AttrName = Rule->getValueAsString("AttrName");
+    if (AttrName.empty())
+      OS << "  Ret &= " << FuncName << "(Caller, Callee);\n";
+    else
+      OS << "  Ret &= " << FuncName << "(Caller, Callee, \"" << AttrName
+         << "\");\n";
----------------
nickdesaulniers wrote:

```suggestion
    OS << "  Ret &= " << FuncName << "(Caller, Callee";
    StringRef AttrName = Rule->getValueAsString("AttrName");
    if (!AttrName.empty())
      OS << ", \"" << AttrName << "\"";
    OS <<  ");\n";
```

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


More information about the llvm-commits mailing list