Page MenuHomePhabricator

[AMDGPU] Enable whole wave register copy
Needs ReviewPublic

Authored by cdevadas on Feb 10 2023, 9:51 AM.

Details

Reviewers
arsenm
rampitec
Summary

So far, we haven't exposed the allocation of whole-wave
registers to regalloc. We hand-picked them for various
whole wave mode operations. With a future patch, we
want the allocator to efficiently allocate them rather
than using the custom pre-allocation pass.

Any liverange split of virtual registers involved in
whole-wave operations require the resulting COPY
introduced with the split to be performed for all
lanes. It isn't implemented in the compiler yet.

This patch would identify all such copies and
manipulate the exec mask around them to enable all
lanes without affecting the value of exec mask
elsewhere.

Diff Detail

Event Timeline

cdevadas created this revision.Feb 10 2023, 9:51 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 10 2023, 9:51 AM
cdevadas requested review of this revision.Feb 10 2023, 9:51 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 10 2023, 9:51 AM
yassingh updated this revision to Diff 523320.EditedThu, May 18, 3:48 AM
yassingh added a subscriber: yassingh.
  • Rebase
  • Incorporated the downstream code
yassingh updated this revision to Diff 523325.Thu, May 18, 4:04 AM

fix file comment