This is an archive of the discontinued LLVM Phabricator instance.

RegAllocGreedy: Fix subranges when rematerializing dead subreg defs
ClosedPublic

Authored by arsenm on Jun 14 2022, 7:21 PM.

Details

Reviewers
qcolombet
MatzeB
Summary

This would create a new interval missing the subrange and hit this
verifier error:

    • Bad machine code: Live interval for subreg operand has no subranges ***
  • function: test_remat_subreg_def
  • basic block: %bb.0 (0xa568758) [0B;128B)
  • instruction: 32B dead undef %4.sub0:vreg_64 = V_MOV_B32_e32 2, implicit $exec

Diff Detail

Event Timeline

arsenm created this revision.Jun 14 2022, 7:21 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 14 2022, 7:21 PM
arsenm requested review of this revision.Jun 14 2022, 7:21 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 14 2022, 7:21 PM
Herald added a subscriber: wdng. · View Herald Transcript
qcolombet accepted this revision.Jul 20 2022, 9:01 AM
This revision is now accepted and ready to land.Jul 20 2022, 9:01 AM