[PATCH] Add a case to LiveIntervalAnalysis::HandleMoveUp

Jakob Stoklund Olesen stoklund at 2pi.dk
Tue Mar 5 12:53:08 PST 2013


On Mar 5, 2013, at 11:26 AM, Andrew Trick <atrick at apple.com> wrote:

> 
> On Mar 5, 2013, at 11:20 AM, Vincent Lejeune <vljn at ovi.com> wrote:
> 
>> I reworked my patch a bit so that it now updates the read-undef flags.
>> I planned to let MachineScheduler do it however updating the flag inside HandleMove allows to spot error quickier.
>> 
>> Can you have a look at it please ? 
> 
> Hopefully Jakob can comment. I just want to point out that if the scheduler does anything other than simple movement of instructions, we should have a more robust API. I would much rather use something like the LiveIntervals::repairIntervalsInRange. I'm just not sure yet if that covers all the corner cases we'll hit in the scheduler.

As long as it makes sense to move one instruction at a time with valid intermediate states, I would like to preserve the handleMove() function. It's local live range repairs should be cheaper than repairIntervalsInRange.

If we start exchanging different use-def pairs where the intermediate state is no longer valid, we should switch to something like repairIntervalsInRange.

/jakob




More information about the llvm-commits mailing list