diff options
author | Momchil Velikov <momchil.velikov@arm.com> | 2017-11-27 10:13:14 +0000 |
---|---|---|
committer | Momchil Velikov <momchil.velikov@arm.com> | 2017-11-27 10:13:14 +0000 |
commit | bd2c7eb923116a15f571bd39daf38da98d259db2 (patch) | |
tree | 11cc9baf4cc178a93f9b98485df5566879811444 /llvm/lib/Support/ThreadPool.cpp | |
parent | 26dde7719bef7d52fd872a1a78a6a62cae69e029 (diff) | |
download | llvm-bd2c7eb923116a15f571bd39daf38da98d259db2.zip llvm-bd2c7eb923116a15f571bd39daf38da98d259db2.tar.gz llvm-bd2c7eb923116a15f571bd39daf38da98d259db2.tar.bz2 |
[ARM] Fix an off-by-one error when restoring LR for 16-bit Thumb
The commit https://reviews.llvm.org/rL318143 computes incorrectly to offset to
restore LR from.
The number of tPOP operands is 2 (condition) + 2 (implicit def and use of SP) +
count of the popped registers. We need to load LR from just past the last
register, hence the correct offset should be either getNumOperands() - 4 and
getNumExplicitOperands() - 2 (multiplied by 4).
Differential revision: https://reviews.llvm.org/D40305
llvm-svn: 319014
Diffstat (limited to 'llvm/lib/Support/ThreadPool.cpp')
0 files changed, 0 insertions, 0 deletions