[llvm-dev] [llvm dev] do we have allocator hook to use maximum different registers?

Quentin Colombet via llvm-dev llvm-dev at lists.llvm.org
Tue May 10 13:41:01 PDT 2016


Hi Konstantin,


> On May 10, 2016, at 1:29 PM, Konstantin Vladimirov via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hi,
> 
> Default register allocator tries to reuse the same registers over and
> over again even if register file have a plenty of registers to use.
> This creates parasite false dependencies and makes scheduling less
> effective.
> 
> How to instruct allocator (may be override some virtual function in
> mine backend?) that it is profitable to use maximum number of
> available registers with minimal dependencies?

That is not possible and in the current scheme that would be hard to add. Indeed, the greedy reg alloc assigns live-ranges in an order based on some priority cost model. Thus, we do not know how close, in the scheduling order, two live-ranges are when we assign them in a row.

Cheers,
-Quentin

> In GCC this option is
> known as -frename-registers.

> 
> ---
> With best regards, Konstantin
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev



More information about the llvm-dev mailing list