summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
authorAlex Bradbury <asb@asbradbury.org>2020-06-25 11:38:33 +0100
committerTom Stellard <tstellar@redhat.com>2020-06-25 16:13:53 -0700
commitf8e49af4f1adcf457ea32e7164a126b10357cf4f (patch)
treedfde209b720b11d3f5c384ea2e12c6e12557f9a7 /lldb/packages/Python/lldbsuite/test
parent9bf7ca2c92a8c78129e503956cc4c6e9db13bec5 (diff)
downloadbcm5719-llvm-f8e49af4f1adcf457ea32e7164a126b10357cf4f.tar.gz
bcm5719-llvm-f8e49af4f1adcf457ea32e7164a126b10357cf4f.zip
[LegalizeTypes][RISCV] Correctly sign-extend comparison for ATOMIC_CMP_XCHG
Currently, the comparison argument used for ATOMIC_CMP_XCHG is legalised with GetPromotedInteger, which leaves the upper bits of the value undefind. Since this is used for comparing in an LR/SC loop with a full-width comparison, we must sign extend it on RISC-V. This is related to https://reviews.llvm.org/D58829, which solved the issue for ATOMIC_CMP_SWAP_WITH_SUCCESS, but not the simpler ATOMIC_CMP_SWAP. This patch is a modified form of 616289ed29225c0ddfe5699c7fdf42a0fcbe0ab4 by Jessica Clarke. It localises the changes to LegalizeIntegerTypes and avoids adding a new virtual method to TargetLowering to avoid changing the ABI of libLLVM.so.
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud