aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
diff options
context:
space:
mode:
authorKai Luo <lkail@cn.ibm.com>2021-07-03 04:45:11 +0000
committerKai Luo <lkail@cn.ibm.com>2021-07-03 04:45:26 +0000
commitc063946476e083a9a0c5bd397337d1ece4742ec6 (patch)
treeb9d7a08d7f3449a748fd5c7be19dde1f2da7cc71 /llvm/lib/Transforms/Utils/SimplifyCFG.cpp
parentaf331e82845523751d39193ae657ca4f20ba1576 (diff)
downloadllvm-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