jayfoad wrote: Can you explain the algorithm? Or at least add a comment showing _what_ the algorithm does in pseudocode, so I don't have to work it out from all the getNode calls? https://github.com/llvm/llvm-project/pull/109295