[AArch64] - Generate pointer authentication instructions
authorLuke Cheeseman <luke.cheeseman@arm.com>
Fri, 17 Aug 2018 12:53:22 +0000 (12:53 +0000)
committerLuke Cheeseman <luke.cheeseman@arm.com>
Fri, 17 Aug 2018 12:53:22 +0000 (12:53 +0000)
commit64dcdec60cdc3612cc5cf14dea6599b91a5f94bd
treea032f6fe1a69f84220ff26abf36c7a1cba9869d2
parent7d272513236d86e031b0ebf9062d270805aa929c
[AArch64] - Generate pointer authentication instructions

- Generate pointer authentication instructions
- The functions instrumented depend on function attribtues:
  all (all functions instrumentent)
  non-leaf (only those that spill LR)
  none
- Function epilogues sign the LR before spilling to the stack and authenticate
  the LR once restored
- If the target is v8.3a or greater than can use the combined authenticate and
  return instruction

Differential revision: https://reviews.llvm.org/D49793

llvm-svn: 340018
llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
llvm/test/CodeGen/AArch64/sign-return-address.ll [new file with mode: 0644]