This is an archive of the discontinued LLVM Phabricator instance.

PostRAPseudos: Don't preserve kills on some implicit copy operands
ClosedPublic

Authored by arsenm on Jan 17 2022, 2:25 PM.

Details

Summary

This fixes a verifier error I ran into at -O0. A subregister copy had
an implicit kill of an overlapping superregister, which was partially
redefined by the copy. The preserved implicit operand killed
subregisters made live earlier in the sequence. AMDGPU already uses
similar logic for whether to preserve the kill of the superregister on
the final instruction if there's overlap.

Diff Detail

Event Timeline

arsenm created this revision.Jan 17 2022, 2:25 PM
arsenm requested review of this revision.Jan 17 2022, 2:25 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 17 2022, 2:25 PM
Herald added a subscriber: wdng. · View Herald Transcript
qcolombet accepted this revision.Jan 18 2022, 10:07 AM
This revision is now accepted and ready to land.Jan 18 2022, 10:07 AM