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

via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 26 07:11:07 PDT 2023


petar-avramovic wrote:

> Right. It seems like a pass that does this is buggy and that should be fixed instead of adding yet another pass that tries to fixup mistakes made by an earlier pass.

The argument for the separate pass was that generic pass machine-sink would use amdgpu-target-specific hook that says fix-temporal-divergence. Also we would have to re-calculate machine uniformity analysis info after each sink or do it once at the end of the pass (not much different then a separate pass). So I was thinking it was best to catch all temporal divergence cases in late stage of pipeline created by any pass. GlobalISel could use this as its only temporal divergence lowering point.
Code for the target hook would be pretty much the same.


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


More information about the llvm-commits mailing list