diff options
author | Kai Luo <lkail@cn.ibm.com> | 2021-07-03 04:45:11 +0000 |
---|---|---|
committer | Kai Luo <lkail@cn.ibm.com> | 2021-07-03 04:45:26 +0000 |
commit | c063946476e083a9a0c5bd397337d1ece4742ec6 (patch) | |
tree | b9d7a08d7f3449a748fd5c7be19dde1f2da7cc71 /llvm/lib/Transforms/Utils/SimplifyCFG.cpp | |
parent | af331e82845523751d39193ae657ca4f20ba1576 (diff) | |
download | llvm-c063946476e083a9a0c5bd397337d1ece4742ec6.zip llvm-c063946476e083a9a0c5bd397337d1ece4742ec6.tar.gz llvm-c063946476e083a9a0c5bd397337d1ece4742ec6.tar.bz2 |
[AIX] Adjust CSR order to avoid breaking ABI regarding traceback
Allocate non-volatile registers in order to be compatible with ABI, regarding gpr_save.
Quoted from https://www.ibm.com/docs/en/ssw_aix_72/assembler/assembler_pdf.pdf page55,
> The preferred method of using GPRs is to use the volatile registers first. Next, use the nonvolatile registers
> in descending order, starting with GPR31.
This patch is based on @jsji 's initial draft.
Tested on test-suite and SPEC, found no degradation.
Reviewed By: jsji, ZarkoCA, xingxue
Differential Revision: https://reviews.llvm.org/D100167
Diffstat (limited to 'llvm/lib/Transforms/Utils/SimplifyCFG.cpp')
0 files changed, 0 insertions, 0 deletions