[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
Loading
Please sign in to comment