https://github.com/kuhar commented: In addition to adding LIT tests, can you explain why each propagation step is correct and why it's always safe to apply the same flags to intermediate computation? https://github.com/llvm/llvm-project/pull/166802