summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/process/main.cpp
diff options
context:
space:
mode:
authorSander de Smalen <sander.desmalen@arm.com>2019-11-05 16:54:54 +0000
committerSander de Smalen <sander.desmalen@arm.com>2019-11-11 09:03:19 +0000
commit84a0c8e3ae92829c4f04ba995b4b6283d397f65d (patch)
tree0bbb41cd76861bd92e2a0c3a56b4e3a15e6dc350 /lldb/packages/Python/lldbsuite/test/python_api/process/main.cpp
parent06456daa9e59ffddc634e4f1aa592161653fbd36 (diff)
downloadbcm5719-llvm-84a0c8e3ae92829c4f04ba995b4b6283d397f65d.tar.gz
bcm5719-llvm-84a0c8e3ae92829c4f04ba995b4b6283d397f65d.zip
[AArch64][SVE] Spilling/filling of SVE callee-saves.
Implement the spills/fills of callee-saved SVE registers using STR and LDR instructions. Also adds the `aarch64_sve_vector_pcs` attribute to specify the callee-saved registers to be used for functions that return SVE vectors or take SVE vectors as arguments. The callee-saved registers are vector registers z8-z23 and predicate registers p4-p15. The overal frame-layout with SVE will be as follows: +-------------+ | stack args | +-------------+ | Callee Saves| | X29, X30 | |-------------| <- FP | SVE Callee | < ////////////// | saved regs | < ////////////// | z23 | < ////////////// | : | < // SCALABLE // | z8 | < ////////////// | p15 | < /// STACK //// | : | < ////////////// | p4 | < //// AREA //// +-------------+ < ////////////// | : | < ////////////// | SVE locals | < ////////////// | : | < ////////////// +-------------+ |/////////////| alignment gap. | : | | Stack objs | | : | +-------------+ <- SP after call and frame-setup Reviewers: cameron.mcinally, efriedma, greened, thegameg, ostannard, rengolin Reviewed By: ostannard Differential Revision: https://reviews.llvm.org/D68996
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/process/main.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud