[PATCH] D85649: [AArch64] PAC/BTI code generation for LLVM generated functions
Momchil Velikov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 12 05:16:18 PDT 2020
chill marked 4 inline comments as done.
chill added a comment.
In D85649#2207922 <https://reviews.llvm.org/D85649#2207922>, @nickdesaulniers wrote:
>
Is there a test for no module attributes + function level attribute enabling pac/bti that tests that just that function gets the proper handling?
Yes, virtually every PAC/BTI test so far. I also added in the last update tests when module flags are created and when they aren't.
================
Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:5764
+ const auto &MFIa = a.getMF()->getInfo<AArch64FunctionInfo>();
+ const auto &MFIb = a.getMF()->getInfo<AArch64FunctionInfo>();
----------------
tellenbach wrote:
> Is this a typo?
>
>
D'oh, bloody copy/paste. Good catch, thanks!
================
Comment at: llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h:149
+ /// SignWithBKey enables use of the B keyfor PAC-RET, otherwise use A key.
+ bool SignWithBKey;
+
----------------
tellenbach wrote:
> The key type could in fact also be made an enum just like you did for the type of return address signing but no strong opinion here.
If I would be bothered to change it, I'd rather go in the opposite direction, replace the `SignReturnAddress` by two booleans. That'll remove the need for a typedef and make the code less verbose.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D85649/new/
https://reviews.llvm.org/D85649
More information about the llvm-commits
mailing list