diff options
author | Ayke van Laethem <aykevanlaethem@gmail.com> | 2022-08-13 21:51:30 +0200 |
---|---|---|
committer | Ayke van Laethem <aykevanlaethem@gmail.com> | 2022-08-15 14:29:38 +0200 |
commit | 43a8dbc5be8ae9d31fb86f333794e51280ea3992 (patch) | |
tree | 26fa35dbddbffd5ca5800bff985136432931d2aa /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | de48717fcf1c340517beb8beb488c627e6e3d034 (diff) | |
download | llvm-43a8dbc5be8ae9d31fb86f333794e51280ea3992.zip llvm-43a8dbc5be8ae9d31fb86f333794e51280ea3992.tar.gz llvm-43a8dbc5be8ae9d31fb86f333794e51280ea3992.tar.bz2 |
[AVR] Use @earlyclobber instead of register scavenging
The code to support the case when the register allocator has assigned
the same register to the src and the dst register operand isn't actually
needed:
* LDWRdPtr and LDDWRdPtrQ have an @earlyclobber on the output
register, so the register allocator will make sure to allocate a
different register for the output register.
* LDDWRdYQ does not have an @earlyclobber, but the pointer register is
the fixed Y register which is reserved. The register allocator won't
use reserved registers for the output value.
This removes a special case in the code that makes the pseudo
instruction expansion pass more complicated than it needs to be.
Differential Revision: https://reviews.llvm.org/D131844
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions