This is an archive of the discontinued LLVM Phabricator instance.

InlineSpiller: Consider copy bundles when looking for snippet copies
ClosedPublic

Authored by arsenm on Mar 28 2023, 11:39 AM.

Details

Summary

This was looking for full copies produced by SplitKit, but SplitKit
introduces copy bundles if not all lanes are live. The scan for uses
needs to look at bundles, not individual instructions.

This is a prerequisite to avoiding some redundant spills due to
subregisters which will help avoid an allocation failure in a future
patch.

Diff Detail

Event Timeline

arsenm created this revision.Mar 28 2023, 11:39 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 28 2023, 11:39 AM
arsenm requested review of this revision.Mar 28 2023, 11:39 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 28 2023, 11:39 AM
arsenm updated this revision to Diff 509157.Mar 28 2023, 3:34 PM
MatzeB accepted this revision.Mar 28 2023, 4:06 PM

LGTM

This revision is now accepted and ready to land.Mar 28 2023, 4:06 PM
arsenm updated this revision to Diff 532962.Jun 20 2023, 9:19 AM

Use correct instr_iterator to avoid running off the end of the block, add another test