diff options
author | Momchil Velikov <momchil.velikov@arm.com> | 2020-05-14 16:43:20 +0100 |
---|---|---|
committer | Momchil Velikov <momchil.velikov@arm.com> | 2020-05-14 16:46:16 +0100 |
commit | bc2e572f51dac4aed8ef86b2f09427109f0cabb8 (patch) | |
tree | a880dfb968a1d9c335f1eda68f0f5a1aa7577426 /clang/lib/Basic/SourceManager.cpp | |
parent | 17941437a2ed8abefef719345391da94e6df8ebb (diff) | |
download | llvm-bc2e572f51dac4aed8ef86b2f09427109f0cabb8.zip llvm-bc2e572f51dac4aed8ef86b2f09427109f0cabb8.tar.gz llvm-bc2e572f51dac4aed8ef86b2f09427109f0cabb8.tar.bz2 |
Re-commit: [ARM] CMSE code generation
This patch implements the final bits of CMSE code generation:
* emit special linker symbols
* restrict parameter passing to no use memory
* emit BXNS and BLXNS instructions for returns from non-secure entry
functions, and non-secure function calls, respectively
* emit code to save/restore secure floating-point state around calls
to non-secure functions
* emit code to save/restore non-secure floating-pointy state upon
entry to non-secure entry function, and return to non-secure state
* emit code to clobber registers not used for arguments and returns
* when switching to no-secure state
Patch by Momchil Velikov, Bradley Smith, Javed Absar, David Green,
possibly others.
Differential Revision: https://reviews.llvm.org/D76518
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
0 files changed, 0 insertions, 0 deletions