[PATCH] D31124: AMDGPU/SI: Add lane tracking to SI Scheduler

Axel Davy via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 28 11:21:30 PDT 2017


axeldavy added a comment.

In https://reviews.llvm.org/D31124#712336, @vpykhtin wrote:

> Ok, I understood  SIScheduleBlockCreator::scheduleInsideBlocks() moves instructions to actually get LiveIn and LiveOut set for a block, but this is rather heavy. Have you thought about getting those using DAG directly, not regpressure tracker? By the common sence the dependencies between blocks correspond to that liveness info. There is a problem however: LiveIn and LiveOut dependencies aren't modelled for boundary SUs. I have local patch that build such dependencies - scheduling region LiveIns edges comes from EntrySU, LiveOut - to ExitSU. Another problem - dependency edges doesn't have lanemask, need to think how to deal with this.


This part is the slowest part of the scheduler (handleMove is very innefficient). It's probably a good idea to replace it with a faster system.


Repository:
  rL LLVM

https://reviews.llvm.org/D31124





More information about the llvm-commits mailing list