[PATCH] Fix instruction scheduling live register tracking

Andrew Trick atrick at apple.com
Thu May 28 09:28:36 PDT 2015


> On May 28, 2015, at 3:29 AM, Paweł Bylica <chfast at gmail.com> wrote:
> 
>>  Then in backtracking, check BotReadyCycle instead of Height. There may be other bugs in backtracking that you're hitting, but that definitely looks suspect to me.
> 
> 
> I'll check that solution however I don't fully get it why we need to ever rewrite the Gen.


During scheduling, we reset the Gen when scheduling a Def. That way, next time we see a read of that register, it becomes the current Gen.

The Gen point is used to determine how far backtracking needs to go. Once we backtracking all the way to the Gen, we reset it to indicate that the register is no longer live. That way, we can schedule a different chain of instructions using the same physical register.

Andy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150528/e51828e2/attachment.html>


More information about the llvm-commits mailing list