[llvm] Late temporal divergence lowering for SDAG (PR #67033)

Nicolai Hähnle via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 26 04:50:24 PDT 2023


nhaehnle wrote:

Can you give a clean explanation of what this new pass does, referring to the definition of MIR semantics and nothing else?

The reason I'm asking is that this entire approach smells like accepting incorrect IR temporarily and then trying to fix it up later. That kind of approach always comes back to bite us in the end. We should not do it.

Relatedly, while trying to understand https://github.com/llvm/llvm-project/blob/3f8ef57bede94445b1a1042c987cc914a886e7ff I've been wondering what the bug in machine-sink-loop-var-out-of-divergent-loop-swdev407790.ll really is/was. The patch changes the location of a definition of v4 from after a loop to inside a loop, but v4 isn't used in the loop as far as I can tell, so why is that change a fix?

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


More information about the llvm-commits mailing list