[PATCH] D69097: [AArch64][MachineOutliner] Return address signing for outlined functions
Oliver Stannard (Linaro) via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 17 05:26:14 PDT 2019
ostannard requested changes to this revision.
ostannard added a comment.
This revision now requires changes to proceed.
It looks like you're emitting PAC instructions but not AUT, so I'd expect this to fault when the outlined function returns. Or is some other code already returning using RETAA/RETAB? In which case, the test should check that.
If our callees have `"sign-return-address"="non-leaf"`, I think we should inherit that in the outlined function, meaning that we only need PAC/AUT instructions if the outlined function spills LR.
Emitting no signing instructions when the callees have mismatched keys seems dangerous, maybe we should consider these candidates to be incompatible, and only outline from functions with matching return address signing options?
This is going to add one or two instructions (depending on whether we use RETAA/RETAB) to each outlined function which needs them, which we should consider when deciding if outlining is worth it, otherwise this might end up increasing code size.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D69097/new/
https://reviews.llvm.org/D69097
More information about the llvm-commits
mailing list