diff options
| author | Victor Huang <wei.huang@ibm.com> | 2020-04-22 10:55:34 -0500 |
|---|---|---|
| committer | Victor Huang <wei.huang@ibm.com> | 2020-04-22 12:05:51 -0500 |
| commit | 02141a17aea0603b89baee14febea6a3b89474d1 (patch) | |
| tree | 5b59616f73742f9efeafe8adf9cee85ff7edf6ad /lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h | |
| parent | 6bec6a97552d939e4fb13165bd4a5440d908c6c0 (diff) | |
| download | llvm-02141a17aea0603b89baee14febea6a3b89474d1.zip llvm-02141a17aea0603b89baee14febea6a3b89474d1.tar.gz llvm-02141a17aea0603b89baee14febea6a3b89474d1.tar.bz2 | |
[PowerPC][Future] Remove redundant r2 save and restore for indirect call
Currently an indirect call produces the following sequence on PCRelative mode:
extern void function( );
extern void (*ptrfunc) ( );
void g() {
ptrfunc=function;
}
void f() {
(*ptrfunc) ( );
}
Producing
paddi 3, 0, .LC0@PCREL, 1
ld 3, 0(3)
std 2, 24(1)
ld 12, 0(3)
mtctr 12
bctrl
ld 2, 24(1)
Though the caller does not use or preserve r2, it is still saved and restored
across a function call. This patch is added to remove these redundant save and
restores for indirect calls.
Differential Revision: https://reviews.llvm.org/D77749
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h')
0 files changed, 0 insertions, 0 deletions
