diff options
author | Tim Northover <tnorthover@apple.com> | 2022-02-09 11:42:36 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2022-02-09 12:29:16 +0000 |
commit | 00e372137c8a604b59b995131cebf2d84f097544 (patch) | |
tree | b2ee068dac790f7e54417ab02fdb6106ac921507 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
parent | 3fc40b6e6628cd3206d5aaf2bfb864add7d74fe1 (diff) | |
download | llvm-00e372137c8a604b59b995131cebf2d84f097544.zip llvm-00e372137c8a604b59b995131cebf2d84f097544.tar.gz llvm-00e372137c8a604b59b995131cebf2d84f097544.tar.bz2 |
AArch64: do not use xzr for ldxp -> stxp dataflow.
If the result of a cmpxchg is unused, regalloc chooses `xzr` for the defs of
CMP_SWAP_128*. However, on the failure path this gets expanded to a LDXP ->
STXP to store the original value (to ensure no tearing occurred). This
unintentionally nulls out half of the value.
So instead use GPR64common for these defs, so regalloc has to choose a real
one.
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions