This is an archive of the discontinued LLVM Phabricator instance.

RegisterCoalescer: Fix verifier error on redef of subregister for live out implicit_defs
ClosedPublic

Authored by arsenm on Jun 27 2023, 5:02 AM.

Details

Summary

A live out implicit_def wasn't deleted, but the subranges weren't
correctly updated. The main range was correct but the def
corresponding to the initial main range def instruction was missing
from the lanes redefined in another block.

The written lanes are not quite the same as the valid lanes in the
case of an implicit_def.

Fixes verifier error in blender. There is an additional verifier in
some of the testcase variants where an empty subrange remains.

Diff Detail

Event Timeline

arsenm created this revision.Jun 27 2023, 5:02 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 27 2023, 5:02 AM
arsenm requested review of this revision.Jun 27 2023, 5:02 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 27 2023, 5:02 AM
Herald added a subscriber: wdng. · View Herald Transcript
This revision is now accepted and ready to land.Jul 24 2023, 8:44 AM