[llvm] [SystemZ] Improve handling of memmoves. (PR #196285)

Ulrich Weigand via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 1 05:28:15 PDT 2026


uweigand wrote:

> A basic problem with this seems to be that the DAGCombiner::visitSUB() only simplifies and reassociates in many cases if there is only a single use of the operand. 

Ah, right.  That is unfortunate.

> So unless there is some other way this still doesn't seem very helpful.

One other thing that might be interesting to look is the `MachinePointerInfo` data we get in `EmitTargetCodeForMemmove`.   If source and destination share the same `Value` we should be able to compare the `Offset` fields.  (For some reason, there is only a `getValue` on `MachineMemOperand`, not on `MachinePointerInfo` directly - so this may be a bit awkward.   Not sure if our ISD nodes should be carrying `MachineMemOperand` as well ...)


https://github.com/llvm/llvm-project/pull/196285


More information about the llvm-commits mailing list