diff options
| author | Daniil Kovalev <dkovalev@accesssoftek.com> | 2024-09-19 12:17:58 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-19 12:17:58 +0300 |
| commit | 3d5e8e4693a51cd3ba336cec0c1a17fe389828a7 (patch) | |
| tree | 433bf65036dc00f4f44dc791c3742bd61da10f9e /lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp | |
| parent | bb5e66e31b2a5dbb2930728ff94281fd805f2d14 (diff) | |
[PAC][CodeGen] Do not emit trivial 'mov xN, xN' on tail call (#109100)
Under some conditions, a trivial `mov xN xN` instruction was emitted on
tail calls. Consider the following code:
```
class Test {
public:
virtual void f() {}
};
void call_f(Test *t) {
t->f();
}
```
Correponding assembly:
```
_Z6call_fP4Test:
ldr x16, [x0]
mov x17, x0
movk x17, #6503, lsl #48
autda x16, x17
ldr x1, [x16]
=====> mov x16, x16
movk x16, #54167, lsl #48
braa x1, x16
```
This patch makes such movs being omitted.
Co-authored-by: Anatoly Trosinenko <atrosinenko@accesssoftek.com>
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp')
0 files changed, 0 insertions, 0 deletions
