llvm-project/llvm/test/CodeGen/MIR/AArch64
Luke Cheeseman 41a9e53500 [Dwarf/AArch64] Return address signing B key dwarf support
- When signing return addresses with -msign-return-address=<scope>{+<key>},
  either the A key instructions or the B key instructions can be used. To
  correctly authenticate the return address, the unwinder/debugger must know
  which key was used to sign the return address.
- When and exception is thrown or a break point reached, it may be necessary to
  unwind the stack. To accomplish this, the unwinder/debugger must be able to
  first authenticate an the return address if it has been signed.
- To enable this, the augmentation string of CIEs has been extended to allow
  inclusion of a 'B' character. Functions that are signed using the B key
  variant of the instructions should have and FDE whose associated CIE has a 'B'
  in the augmentation string.
- One must also be able to preserve these semantics when first stepping from a
  high level language into assembly and then, as a second step, into an object
  file. To achieve this, I have introduced a new assembly directive
  '.cfi_b_key_frame ', that tells the assembler the current frame uses return
  address signing with the B key.
- This ensures that the FDE is associated with a CIE that has 'B' in the
  augmentation string.

Differential Revision: https://reviews.llvm.org/D51798

llvm-svn: 349895
2018-12-21 10:45:08 +00:00
..
addrspace-memoperands.mir Followup on Proposal to move MIR physical register namespace to '$' sigil. 2018-01-31 22:04:26 +00:00
atomic-memoperands.mir Followup on Proposal to move MIR physical register namespace to '$' sigil. 2018-01-31 22:04:26 +00:00
cfi.mir [AArch64] - Return address signing dwarf support 2018-12-18 10:37:42 +00:00
expected-target-flag-name.mir Followup on Proposal to move MIR physical register namespace to '$' sigil. 2018-01-31 22:04:26 +00:00
generic-virtual-registers-error.mir Followup on Proposal to move MIR physical register namespace to '$' sigil. 2018-01-31 22:04:26 +00:00
generic-virtual-registers-with-regbank-error.mir Followup on Proposal to move MIR physical register namespace to '$' sigil. 2018-01-31 22:04:26 +00:00
intrinsics.mir [GISel]: Verify COPIES involving generic registers. 2018-02-09 01:27:23 +00:00
invalid-target-flag-name.mir Followup on Proposal to move MIR physical register namespace to '$' sigil. 2018-01-31 22:04:26 +00:00
invalid-target-memoperands.mir Followup on Proposal to move MIR physical register namespace to '$' sigil. 2018-01-31 22:04:26 +00:00
lit.local.cfg
mirCanonCopyCopyProp.mir [MIR] Add support for debug metadata for fixed stack objects 2018-04-25 18:58:06 +00:00
mirCanonIdempotent.mir [NFC] MIR-Canon: switching to a stable string sorting of instructions. 2018-05-13 06:07:20 +00:00
multiple-lhs-operands.mir Followup on Proposal to move MIR physical register namespace to '$' sigil. 2018-01-31 22:04:26 +00:00
namedvregs.mir [MIR] Adding support for Named Virtual Registers in MIR. 2018-03-30 18:15:54 +00:00
parse-low-level-type-invalid0.mir [MIRParser][GlobalISel] Parsing vector pointer types (<M x pA>) 2018-05-08 02:02:50 +00:00
parse-low-level-type-invalid1.mir [MIRParser][GlobalISel] Parsing vector pointer types (<M x pA>) 2018-05-08 02:02:50 +00:00
parse-low-level-type-invalid2.mir [MIRParser][GlobalISel] Parsing vector pointer types (<M x pA>) 2018-05-08 02:02:50 +00:00
parse-low-level-type-invalid3.mir [MIRParser][GlobalISel] Parsing vector pointer types (<M x pA>) 2018-05-08 02:02:50 +00:00
print-parse-overloaded-intrinsics.mir [MIRParser] Accept overloaded intrinsic names w/o type suffixes 2018-02-28 23:51:49 +00:00
print-parse-vector-of-pointers-llt.mir [MIRParser][GlobalISel] Parsing vector pointer types (<M x pA>) 2018-05-08 02:02:50 +00:00
print-parse-verify-failedISel-property.mir [MIR] Reset unique MBB numbering in MachineFunction::reset() 2018-04-30 18:58:57 +00:00
register-operand-bank.mir Followup on Proposal to move MIR physical register namespace to '$' sigil. 2018-01-31 22:04:26 +00:00
return-address-signing.mir [Dwarf/AArch64] Return address signing B key dwarf support 2018-12-21 10:45:08 +00:00
stack-object-local-offset.mir [MIR] Add support for debug metadata for fixed stack objects 2018-04-25 18:58:06 +00:00
swp.mir Followup on Proposal to move MIR physical register namespace to '$' sigil. 2018-01-31 22:04:26 +00:00
target-flags.mir Followup on Proposal to move MIR physical register namespace to '$' sigil. 2018-01-31 22:04:26 +00:00
target-memoperands.mir Followup on Proposal to move MIR physical register namespace to '$' sigil. 2018-01-31 22:04:26 +00:00