[llvm] [DAGISel] Fix MMRA Handling in copyExtraInfo (PR #124730)

Pierre van Houtryve via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 28 04:48:43 PST 2025


Pierre-vh wrote:

> Can you elaborate what the edge case is? (I wish some of this info would be preserved in the commit logs, because it's easily lost in PR comments and such.)

The presence of the large call function at the start of the function appears to affect DAG building in a way that creates a load with a chain to the EntryNode and that appeared to trip this function (lambda returned false and then it hit the assert in the loop below)

The tests look better after the change, with MMRAs being removed from non-memory instructions like MOV. For MMRAs what matters is that it stays on the memory instruction, so if a load gets replaced by something else, it needs to stay on the load but not on the, e.g. pointer arithmetic of the operand

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


More information about the llvm-commits mailing list