[llvm-dev] Live range priority in Greedy RA

Matthias Braun via llvm-dev llvm-dev at lists.llvm.org
Tue Oct 30 10:47:56 PDT 2018


This may or may not be a good idea.  Here's some hand-wavy reason why it may not be a good idea:

- It will be tricky to balance the priority based on liverange size with an extra criterium like block frequency as you propose here. In the past I've seen two criteria working against each other lead to worse allocations as there is no obvious clear cut at which point the first or at which point the 2nd criterium should be use.
- Liverange splitting should typically separate the liveranges inside the loop from the liveranges outside, so it's possible there are few interferences between values inside the loop and outside the loop left.

Ultimately the best way to argue here, is running benchmarks and looking at concrete situations. So the best way to prove this is to implement it, run it on various benchmarks and see how it performs.

- Matthias

> On Oct 30, 2018, at 4:51 AM, Dangeti Tharun kumar via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hi,
> 
> In the Greedy RA, I see that the enqueue method adds higher priority to the live intervals based on their sizes.
> 
> Isn't it makes sense to give priority to live intervals that start and end in a loop? Please let me know if the code is already achieving it in some way.
> Also consider correcting me, if this approach is wrong.
> 
> -- 
> Regards,
> DTharun
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181030/3aa0f619/attachment.html>


More information about the llvm-dev mailing list