This is an archive of the discontinued LLVM Phabricator instance.

[LiveIntervals] Fix early-clobber handling in handleMoveUp
ClosedPublic

Authored by foad on Jun 18 2020, 10:27 AM.

Details

Summary

Without this fix, handleMoveUp can create an invalid live range like
this:

[98904e,98908r:0)[98908e,227504r:1)

where the two segments overlap, but only because we have lost the "e"
(early-clobber) on the end point of the first segment.

Diff Detail

Event Timeline

foad created this revision.Jun 18 2020, 10:27 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 18 2020, 10:27 AM
arsenm accepted this revision.Jun 18 2020, 10:56 AM

LGTM, but unfortunately doesn't help me with either of the 2 LiveIntervals problems I'm looking at

llvm/unittests/MI/LiveIntervalTest.cpp
450–455

Can you compact these test register numbers?

This revision is now accepted and ready to land.Jun 18 2020, 10:56 AM
This revision was automatically updated to reflect the committed changes.