diff options
author | Simon Wallis <simon.wallis2@arm.com> | 2020-09-07 13:21:27 +0100 |
---|---|---|
committer | Simon Wallis <simon.wallis2@arm.com> | 2020-09-07 13:22:09 +0100 |
commit | 79ea83e104e368ef0f520f1bfa74c15d91baef93 (patch) | |
tree | 2d2b23c5025612911172ab05275333b796a2aad5 /llvm/lib/CodeGen/MachineStableHash.cpp | |
parent | 28aa60aae25b7e46804deae909b29b66c1b41d95 (diff) | |
download | llvm-79ea83e104e368ef0f520f1bfa74c15d91baef93.zip llvm-79ea83e104e368ef0f520f1bfa74c15d91baef93.tar.gz llvm-79ea83e104e368ef0f520f1bfa74c15d91baef93.tar.bz2 |
[SelectionDAG] memcpy expansion of const volatile struct ignores const zero
In getMemcpyLoadsAndStores(), a memcpy where the source is a zero constant is expanded to a MemOp::Set instead of a MemOp::Copy, even when the memcpy is volatile.
This is incorrect.
The fix is to add a check for volatile, and expand to MemOp::Copy in the volatile case.
Reviewed By: chill
Differential Revision: https://reviews.llvm.org/D87134
Diffstat (limited to 'llvm/lib/CodeGen/MachineStableHash.cpp')
0 files changed, 0 insertions, 0 deletions