[llvm-dev] Disable spilling sub-registers in LLVM

Matthias Braun via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 29 17:20:42 PST 2018



> On Jan 29, 2018, at 1:20 PM, ahmede via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hi,
> 
> 
> I wonder if there is a way in LLVM to disable spilling a register-class while still enabling the super-registers of this register-class to be spilled.
What would you have the register allocator do when it runs out of register and you have spilling disabled? Abort the compilation?

If you just want a special instruction sequence (like using a bigger loads/stores for the spills) then you should be able to implement that in storeRegToStackSlot()/loadRegFromStackSlot().

- Matthias

> 
> If not, how can we implement spilling for sub-registers when stack load/stores can only operate on the super registers? Is there a way even if it is suboptimal?
> 
> 
> Thanks,
> Ahmed
> _______________________________________________
> 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