[PATCH] D32563: Add LiveRangeShrink pass to shrink live range within BB.

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Mon May 1 17:33:17 PDT 2017


> On May 1, 2017, at 5:22 PM, Dehao Chen via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> 
> On Mon, May 1, 2017 at 4:52 PM, Matthias Braun via Phabricator
> <reviews at reviews.llvm.org> wrote:
>> MatzeB added a comment.
>> 
>> In https://reviews.llvm.org/D32563#742848, @wmi wrote:
>> 
>>> + Andy, for the history on pre-RA-sched and misched.
>> 
>> 
>> pre-RA scheduling is deprecated it should only be concerned about bringing the SelectionDAG nodes into an order. The actual scheduling decisions should be done by the MachineScheduler nowadays.
>> 
>> Is this pass necessary because the machine scheduler doesn't schedule instructions accross calls? Then https://reviews.llvm.org/D15667 may be related...
> 
> I tried to rebase that patch, but unfortunately it does not solve the problem.
I'm still struggling to understand what the exact problem is you are trying to solve.

> 
> I also tried to run -pre-RA-sched=list-ilp on my testcase, it can
> solve the problem. But when I tried this flag on large benchmarks, it
> causes perf regression.
I don't think we will accept bringing back complicated logic in the selection-dag scheduling phase. Should rather improve the machine scheduler or possibly some machine global code motion pass after instruction selecction (I hear Andy/Arnold have tried that in the past but decided it isn't worth it).

- Matthias


More information about the llvm-commits mailing list