This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: Add alloc priority to global ranges
ClosedPublic

Authored by arsenm on Aug 5 2021, 1:42 PM.

Details

Summary

The requested register class priorities weren't respected
globally. Not sure why this is a target option, and not just the
expected behavior (recently added in
1a6dc92be7d68611077f0fb0b723b361817c950c). This avoids an allocation
failure when many wide tuple spills are introduced. I think this is a workaround since
I would not expect the allocation priority to be required, and only a performance hint.
The allocator should be smarter about when only a subregister needs to be spilled
and restored.

This does regress a couple of degenerate store stress lit tests which
shouldn't be too important.

Diff Detail

Event Timeline

arsenm created this revision.Aug 5 2021, 1:42 PM
arsenm requested review of this revision.Aug 5 2021, 1:42 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 5 2021, 1:42 PM
Herald added a subscriber: wdng. · View Herald Transcript
rampitec accepted this revision.Aug 5 2021, 2:43 PM

LGTM

This revision is now accepted and ready to land.Aug 5 2021, 2:43 PM
paklui added a subscriber: paklui.Aug 14 2021, 3:42 PM