Jessica Clarke
616289ed29
[LegalizeTypes][RISCV] Correctly sign-extend comparison for ATOMIC_CMP_XCHG
...
Summary:
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. We introduce a new
getExtendForAtomicCmpSwapArg to complement getExtendForAtomicOps, since
many targets have compare-and-swap instructions (or pseudos) that
correctly handle an any-extend input, and the existing function
determines the extension of the result, whereas we are concerned with
the input.
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.
Reviewers: asb, lenary, efriedma
Reviewed By: asb
Subscribers: arichardson, hiraditya, rbar, johnrusso, simoncook, sabuasal, niosHD, kito-cheng, shiva0217, MaskRay, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, jfb, PkmX, jocewei, psnobl, benna, Jim, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, evandro, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74453
2020-04-01 15:51:26 +01:00
..
2019-08-20 22:53:24 +00:00
2019-10-28 09:54:33 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-08-06 00:24:00 +00:00
2019-12-05 14:32:11 +08:00
2019-09-30 07:58:50 +00:00
2019-09-17 11:15:35 +00:00
2020-04-01 15:51:26 +01:00
2019-12-06 09:53:53 -08:00
2020-03-31 16:16:19 +08:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-10-29 11:32:16 +08:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2020-03-15 17:46:23 -07:00
2020-03-15 17:46:23 -07:00
2020-03-15 17:46:23 -07:00
2019-11-26 15:22:55 +00:00
2019-11-05 09:39:06 +00:00
2019-09-17 11:15:35 +00:00
2020-03-20 09:42:24 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-11-14 18:29:50 +00:00
2019-10-15 02:04:29 +00:00
2019-10-15 02:04:29 +00:00
2020-03-20 09:42:24 +00:00
2020-03-20 09:42:24 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-10-25 14:02:02 +01:00
2019-09-17 11:15:35 +00:00
2020-03-20 09:42:24 +00:00
2019-12-23 15:39:04 +00:00
2019-12-23 15:39:04 +00:00
2020-02-13 10:16:06 -08:00
2019-11-04 11:23:54 +00:00
2020-02-13 10:16:06 -08:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2020-02-11 22:45:15 +08:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-08-08 14:59:16 +00:00
2019-08-08 14:59:16 +00:00
2019-09-17 11:15:35 +00:00
2019-08-08 14:59:16 +00:00
2019-09-17 11:15:35 +00:00
2019-08-03 05:52:47 +00:00
2020-01-15 13:50:50 +00:00
2020-02-13 10:16:06 -08:00
2020-02-15 09:14:04 +08:00
2020-02-13 10:16:06 -08:00
2019-12-24 15:57:33 -08:00
2020-02-13 10:16:06 -08:00
2019-12-24 15:57:33 -08:00
2019-11-14 18:29:50 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-12-19 16:41:53 +00:00
2020-02-13 10:16:06 -08:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-12-09 13:51:08 +00:00
2020-02-13 10:16:06 -08:00
2020-02-13 10:16:06 -08:00
2019-09-17 11:15:35 +00:00
2020-02-13 10:16:06 -08:00
2020-03-05 18:05:28 -08:00
2020-03-15 17:46:23 -07:00
2020-03-05 18:05:28 -08:00
2020-03-15 17:46:23 -07:00
2019-12-23 15:39:04 +00:00
2019-10-22 21:25:01 +01:00
2019-10-22 21:25:01 +01:00
2020-02-13 10:16:06 -08:00
2019-08-28 23:40:37 +00:00
2019-10-04 02:00:57 +00:00
2019-09-17 11:15:35 +00:00
2019-09-17 11:15:35 +00:00
2019-08-06 00:24:00 +00:00
2019-08-28 23:40:37 +00:00
2019-09-17 11:15:35 +00:00
2019-08-06 00:24:00 +00:00
2019-08-06 00:24:00 +00:00
2020-02-11 21:23:03 +00:00
2019-09-17 11:15:35 +00:00
2019-09-11 11:16:48 +00:00
2020-02-11 22:45:15 +08:00
2019-12-05 14:32:11 +08:00
2020-02-11 21:23:03 +00:00
2019-11-14 18:29:50 +00:00
2019-10-04 02:00:57 +00:00
2019-11-11 09:51:37 +00:00
2020-01-25 17:36:46 +00:00
2019-11-16 12:39:53 +08:00
2019-10-04 02:00:57 +00:00
2020-01-22 08:12:28 -08:00
2020-02-18 23:56:42 +08:00
2020-02-13 10:16:06 -08:00
2020-03-27 17:30:12 -07:00
2019-12-03 22:04:54 +00:00
2019-09-17 11:15:35 +00:00
2019-11-11 09:51:37 +00:00
2019-11-11 09:51:37 +00:00
2020-02-10 11:56:08 +08:00
2020-02-13 10:16:06 -08:00
2019-09-17 11:15:35 +00:00