This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU] Support wwm-reg AV spill pseudos
ClosedPublic

Authored by cdevadas on Jul 18 2023, 2:42 PM.

Details

Summary

The wwm register spill pseudos are currently defined for VGPR_32
regclass. It causes a verifier error for gfx908 or above as the
regalloc sometimes restores the values to the vector superclass AV_32.
Fixing it by supporting AV wwm-spill pseudos as well.

Diff Detail

Event Timeline

cdevadas created this revision.Jul 18 2023, 2:42 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 18 2023, 2:42 PM
cdevadas requested review of this revision.Jul 18 2023, 2:42 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 18 2023, 2:42 PM
arsenm added inline comments.Jul 18 2023, 2:55 PM
llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
1891

You shouldn't need to consider the target, this should be solely determined from the class you already have

cdevadas updated this revision to Diff 544041.Jul 25 2023, 10:49 AM

Addressed the review comments.
Should add a new test. Working on it.

arsenm requested changes to this revision.Aug 10 2023, 3:00 PM

Awaiting mentioned test

This revision now requires changes to proceed.Aug 10 2023, 3:00 PM
cdevadas updated this revision to Diff 549591.Aug 12 2023, 3:57 AM

Added lit test.

cdevadas retitled this revision from [AMDGPU] Use AV regclass in wwm-reg spill pseudos for gfx908+ to [AMDGPU] Support wwm-reg AV spill pseudos.Aug 12 2023, 3:59 AM
arsenm accepted this revision.Aug 16 2023, 4:00 PM
This revision is now accepted and ready to land.Aug 16 2023, 4:00 PM
This revision was landed with ongoing or failed builds.Aug 17 2023, 7:35 AM
This revision was automatically updated to reflect the committed changes.