[all-commits] [llvm/llvm-project] bc2e57: Re-commit: [ARM] CMSE code generation
Momchil Velikov via All-commits
all-commits at lists.llvm.org
Thu May 14 09:31:39 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: bc2e572f51dac4aed8ef86b2f09427109f0cabb8
https://github.com/llvm/llvm-project/commit/bc2e572f51dac4aed8ef86b2f09427109f0cabb8
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2020-05-14 (Thu, 14 May 2020)
Changed paths:
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp
M llvm/lib/Target/ARM/ARMMachineFunctionInfo.h
M llvm/lib/Target/ARM/ARMRegisterInfo.td
M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
A llvm/test/CodeGen/ARM/cmse-clear-float-bigend.mir
A llvm/test/CodeGen/ARM/cmse-clear-float-hard.ll
A llvm/test/CodeGen/ARM/cmse-clear-float-hard2.ll
A llvm/test/CodeGen/ARM/cmse-clear-float-mve.ll
A llvm/test/CodeGen/ARM/cmse-clear-float.ll
A llvm/test/CodeGen/ARM/cmse-clear.ll
A llvm/test/CodeGen/ARM/cmse-clrm-it-block.ll
A llvm/test/CodeGen/ARM/cmse-expand-bxns-ret.mir
A llvm/test/CodeGen/ARM/cmse.ll
Log Message:
-----------
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
More information about the All-commits
mailing list