aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
diff options
context:
space:
mode:
authorStefan Pintilie <stefanp@ca.ibm.com>2020-09-22 18:44:54 -0500
committerStefan Pintilie <stefanp@ca.ibm.com>2020-09-25 06:39:14 -0500
commitd224175230d1ab232cfdf71f9da63a732f405c91 (patch)
tree189777b88b1ef2e88187961c5195578a49224bb7 /lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
parent9d2ef5e74eea2247657431f44152f1f83ed99b84 (diff)
downloadllvm-d224175230d1ab232cfdf71f9da63a732f405c91.zip
llvm-d224175230d1ab232cfdf71f9da63a732f405c91.tar.gz
llvm-d224175230d1ab232cfdf71f9da63a732f405c91.tar.bz2
[PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits
The R2 save stub will now support offsets up to 64 bits. There are three cases that will be used. 1) The offset fits in 26 bits. ``` b <26 bit offset> ``` 2) The offset does not fit in 26 bits but fits in 34 bits. ``` paddi r12, 0, <34 bit offset>, 1 mtctr r12 bctr ``` 3) The offset does not fit in 34 bits. Since this is an R2 save stub we can use the TOC in R2. We are not loading the offset but the actual address we want to branch to. ``` addis r12, r2, <address in TOC lo> ld r12 <address in TOC hi>(r12) mtctr r12 bctr ``` In case 1) the stub is only 8 bytes while in cases 2) and 3) the stub will be 20 bytes. Reviewed By: MaskRay, sfertile, NeHuang Differential Revision: https://reviews.llvm.org/D87916
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h')
0 files changed, 0 insertions, 0 deletions