This is an archive of the discontinued LLVM Phabricator instance.

VirtRegMap: Correctly deal with bundles when deleting identity copies.
ClosedPublic

Authored by MatzeB on Mar 13 2017, 6:49 PM.

Details

Summary

This fixes two problems when VirtRegMap encounters bundles:

  • When substituting a vreg subregister def with an actual register the internal read flag must be cleared.
  • Removing an identity COPY from a bundle needs to use removeFromBundle() and a newly introduced function to update SlotIndexes.

No testcase here, because none of the in-tree targets trigger this, however an upcoming commit of mine will need this and the testcase there will trigger this.

Diff Detail

Repository
rL LLVM

Event Timeline

MatzeB created this revision.Mar 13 2017, 6:49 PM
This revision is now accepted and ready to land.Mar 16 2017, 4:58 PM
This revision was automatically updated to reflect the committed changes.