[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
================
@@ -359,7 +366,10 @@ def : CompatRule<"isEqual<ShadowCallStackAttr>">;
def : CompatRule<"isEqual<UseSampleProfileAttr>">;
def : CompatRule<"isEqual<NoProfileAttr>">;
def : CompatRule<"checkDenormMode">;
-
+def : CompatRule<"checkStrictFP">;
+def : CompatRuleAttr<"isEqual", "sign-return-address">;
+def : CompatRuleAttr<"isEqual", "sign-return-address-key">;
+def : CompatRuleAttr<"isEqual", "branch-protection-pauth-lr">;
----------------
nickdesaulniers wrote:
I guess I'm surprised that you can't do:
```
def : CompatRule<"isEqual<sign-return-address>">;
```
Is this because these attributes are string attributes? If so, consider adding more to the comment blocks to describe //when// a developer should use `CompatRule` vs `CompatRuleAttr`. Perhaps s/CompatRuleAttr/CompatRuleStrAttr/ since the existing vanillla CompatRule is already concerned with function attributes in order to better distinguish that this new class is for //string// attributes.
https://github.com/llvm/llvm-project/pull/80642
More information about the llvm-commits
mailing list