This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU] Do not apply schedule metric for regions with spilling
ClosedPublic

Authored by rampitec on Feb 13 2023, 11:45 AM.

Details

Summary

D139710 has added a metric to increase schedule's ILP while
staying within the same occupancy. Do not bother to apply this
metric to a region which is known to have spilling, it may result
in spilling to reappear after the previous stage and will do no
good if we already spilling anyway. It may also reduce compile
time a bit for such regions.

Fixes: SWDEV-377300

Diff Detail

Event Timeline

rampitec created this revision.Feb 13 2023, 11:45 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 13 2023, 11:45 AM
rampitec requested review of this revision.Feb 13 2023, 11:45 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 13 2023, 11:45 AM
Herald added a subscriber: wdng. · View Herald Transcript

testcase?

This is tough. These tests are huge and largely unsound, and here we are talking about a border case which can be easily shifted towards producing no spilling because of earlier stages, or no spilling because of the change in the metric itself, not because of this line of code. I am generally not convinced in usefulness of scheduling lit tests, they take a lot of time but deteriorate quickly.

rampitec updated this revision to Diff 497100.Feb 13 2023, 1:55 PM

Added testcase.

kerbowa accepted this revision.Feb 14 2023, 12:00 PM

LGTM, can you renumber regs in the test please.

This revision is now accepted and ready to land.Feb 14 2023, 12:00 PM
rampitec updated this revision to Diff 497410.Feb 14 2023, 12:08 PM

Renumbered registers.

This revision was landed with ongoing or failed builds.Feb 14 2023, 12:17 PM
This revision was automatically updated to reflect the committed changes.