vporpo wrote: I made a design change: There are now two DAG Node classes: `DGNode` for non-mem instructions and `MemDGNode` for memory dependency candidates. A chain links `MemDGNode` together. https://github.com/llvm/llvm-project/pull/109684