This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU] Only unbundle memory accesses in SIMemoryLegalizer
ClosedPublic

Authored by critson on Mar 22 2021, 2:23 AM.

Details

Summary

This restores previous behaviour and is a step toward removing
unbundling entirely.

Diff Detail

Event Timeline

critson created this revision.Mar 22 2021, 2:23 AM
critson requested review of this revision.Mar 22 2021, 2:23 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 22 2021, 2:23 AM
foad accepted this revision.Mar 22 2021, 2:32 AM

Specifically, this reverts part of D91048. Looks good to me, thanks!

This revision is now accepted and ready to land.Mar 22 2021, 2:32 AM

Thanks, I will leave this 12 hours before committing in case of further comments.

What was the decision on the philosophy on who should be doing unbundling in general? How is it known that it is sfe for the memory legalized to do this unbundling? Is the policy documented in some AMD GPU design page?

What was the decision on the philosophy on who should be doing unbundling in general? How is it known that it is sfe for the memory legalized to do this unbundling? Is the policy documented in some AMD GPU design page?

I do not think we have reached a consensus yet.
However my understanding of current direction is:

  • Stop all unbundling where possible
  • Add annotations to bundles so that downstream passes know which ones are legal to modify