This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU] Relax restrictions on unbreakable PHI users in BreakLargePHis
ClosedPublic

Authored by Pierre-vh on Jul 13 2023, 4:50 AM.

Details

Summary

The previous heuristic rejected a PHI if one of its user was an unbreakable PHI, no matter what the other users were.

This worked well in most cases, but there's one case in rocRAND where
it doesn't work. In that case, a PHI node has 2 PHI users where one is
breakable but not the other. When that PHI node isn't broken performance falls by 35%.

Relaxing the restriction to "require that half of the PHI node users are breakable" fixes the issue, and seems like a sensible change.

Solves SWDEV-409648, SWDEV-398393

Diff Detail

Event Timeline

Pierre-vh created this revision.Jul 13 2023, 4:50 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 13 2023, 4:50 AM
Pierre-vh requested review of this revision.Jul 13 2023, 4:50 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 13 2023, 4:50 AM
arsenm accepted this revision.Jul 13 2023, 6:48 AM
This revision is now accepted and ready to land.Jul 13 2023, 6:48 AM
This revision was landed with ongoing or failed builds.Jul 14 2023, 12:02 AM
This revision was automatically updated to reflect the committed changes.