[all-commits] [llvm/llvm-project] 70caa1: [AArch64][MachineOutliner] Return address signing ...
David Tellenbach via All-commits
all-commits at lists.llvm.org
Wed Oct 30 08:20:20 PDT 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 70caa1fc30c392974df3bccd9959765dae1779f6
https://github.com/llvm/llvm-project/commit/70caa1fc30c392974df3bccd9959765dae1779f6
Author: David Tellenbach <david.tellenbach at arm.com>
Date: 2019-10-30 (Wed, 30 Oct 2019)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
A llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
A llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
A llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
A llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
A llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-same-key-a.ll
A llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-same-key-b.ll
A llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
A llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
A llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-v8-3.ll
Log Message:
-----------
[AArch64][MachineOutliner] Return address signing for outlined functions
Summary:
During AArch64 frame lowering instructions to enable return address
signing are inserted into function if needed. Functions generated during
machine outlining don't run through target frame lowering and hence are
missing such instructions.
This patch introduces the following changes:
1. If not all functions that potentially participate in function outlining
agree on their return address signing scope and their return address
signing key, outlining is disabled for these functions.
2. If not all functions that potentially participate in function outlining
agree on their support for v8.3A features, outlining is disabled for
these functions.
2. If all candidate functions agree on the signing scope, signing key and
and their support for v8.3 features, the outlined function behaves as
if it had the same scope and key attributes and as if it would provide
the same v8.3A support as the original functions.
Reviewers: olista01, paquette, t.p.northover, ostannard
Reviewed By: ostannard
Subscribers: ostannard, kristof.beyls, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69097
More information about the All-commits
mailing list