diff options
author | Renato Golin <renato.golin@linaro.org> | 2016-03-02 19:35:45 +0000 |
---|---|---|
committer | Renato Golin <renato.golin@linaro.org> | 2016-03-02 19:35:45 +0000 |
commit | 93e42d99347ac36a19ba3e08108ccd1d9c8f1ff4 (patch) | |
tree | 95e9ace782deee66655274aff5dd61373db49deb /lldb/packages/Python/lldbsuite/test/python_api | |
parent | cbbaeb13074400ead830be88143c31e7aac3c01c (diff) | |
download | bcm5719-llvm-93e42d99347ac36a19ba3e08108ccd1d9c8f1ff4.tar.gz bcm5719-llvm-93e42d99347ac36a19ba3e08108ccd1d9c8f1ff4.zip |
[ARM] Merging 64-bit divmod lib calls into one
When div+rem calls on the same arguments are found, the ARM back-end merges the
two calls into one __aeabi_divmod call for up to 32-bits values. However,
for 64-bit values, which also have a lib call (__aeabi_ldivmod), it wasn't
merging the calls, and thus calling ldivmod twice and spilling the temporary
results, which generated pretty bad code.
This patch legalises 64-bit lib calls for divmod, so that now all the spilling
and the second call are gone. It also relaxes the DivRem combiner a bit on the
legal type check, since it was already checking for isLegalOrCustom on every
value, so the extra check for isTypeLegal was redundant.
This patch fixes PR17193 (and a long time FIXME in the tests).
llvm-svn: 262507
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api')
0 files changed, 0 insertions, 0 deletions