aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2022-02-09 11:42:36 +0000
committerTim Northover <tnorthover@apple.com>2022-02-09 12:29:16 +0000
commit00e372137c8a604b59b995131cebf2d84f097544 (patch)
treeb2ee068dac790f7e54417ab02fdb6106ac921507 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parent3fc40b6e6628cd3206d5aaf2bfb864add7d74fe1 (diff)
downloadllvm-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