This is an archive of the discontinued LLVM Phabricator instance.

[DA] GPUDivergenceAnalysis for unstructured GPU kernels
ClosedPublic

Authored by simoll on Oct 22 2018, 6:14 AM.

Details

Summary

This is patch #3 of the new DivergenceAnalysis

<https://lists.llvm.org/pipermail/llvm-dev/2018-May/123606.html>

The GPUDivergenceAnalysis is intended to eventually supersede the existing
LegacyDivergenceAnalysis. The existing LegacyDivergenceAnalysis produces
incorrect results on unstructured Control-Flow Graphs:

<https://bugs.llvm.org/show_bug.cgi?id=37185>

This patch adds the option -use-gpu-divergence-analysis to the
LegacyDivergenceAnalysis to turn it into a transparent wrapper for the
GPUDivergenceAnalysis.

Diff Detail

Event Timeline

simoll created this revision.Oct 22 2018, 6:14 AM

Ping. Would any subscriber volunteer to review? @nhaehnle ?

LGTM. Do you need me to commit this?

What are the current future plans for this whole series? I think we should enable this by default, but it would be nice to get rid of the old code, which requires addressing the irreducible test case. I vaguely recall that you mentioned a way to address that, but I can't find that now.

nhaehnle accepted this revision.Nov 9 2018, 5:51 AM
This revision is now accepted and ready to land.Nov 9 2018, 5:51 AM

LGTM. Do you need me to commit this?

Yes, i cannot commit myself.

What are the current future plans for this whole series? I think we should enable this by default, but it would be nice to get rid of the old code, which requires addressing the irreducible test case. I vaguely recall that you mentioned a way to address that, but I can't find that now.

I will open a new patch series to address the irreducibility issue. That series should also involve deprecating the LegacyDivergenceAnalysis for good.

This revision was automatically updated to reflect the committed changes.

LGTM. Do you need me to commit this?

Yes, i cannot commit myself.

What are the current future plans for this whole series? I think we should enable this by default, but it would be nice to get rid of the old code, which requires addressing the irreducible test case. I vaguely recall that you mentioned a way to address that, but I can't find that now.

I will open a new patch series to address the irreducibility issue. That series should also involve deprecating the LegacyDivergenceAnalysis for good.

Good, I'll be happy to switch to the new DA for good.