This is an archive of the discontinued LLVM Phabricator instance.

[SDA] Bug fix: Use IPD outside the loop as divergence bound
ClosedPublic

Authored by simoll on Mar 6 2019, 12:52 PM.

Details

Summary

The immediate post dominator of the loop header may be part of the divergent loop.
Since this /was/ the divergence propagation bound the SDA would not detect joins of divergent paths outside the loop.

Diff Detail

Repository
rL LLVM

Event Timeline

simoll created this revision.Mar 6 2019, 12:52 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 6 2019, 12:52 PM

Adding more DA users as subscribers

simoll retitled this revision from [SDA] Use IPD outside the loop as divergence bound to [SDA] Bug fix: Use IPD outside the loop as divergence bound.Mar 18 2019, 8:52 PM

Ping. This is a bug fix for the SDA.

nhaehnle accepted this revision.Apr 15 2019, 8:46 AM

Oh wow. That's an important fix indeed :) LGTM

lib/Analysis/SyncDependenceAnalysis.cpp
200 ↗(On Diff #189566)

Spurious whitespace

223 ↗(On Diff #189566)

Here as well.

This revision is now accepted and ready to land.Apr 15 2019, 8:46 AM
simoll updated this revision to Diff 195325.Apr 16 2019, 1:22 AM

NFC. Stripped empty lines.

If this looks ok, feel free to commit (i do not have commit access. Who should i ask to get it, btw?).

This revision was automatically updated to reflect the committed changes.

Committed. I believe the procedure for SVN access is still that you send Chris Lattner an email to ask about it.