[LLVMdev] Reduced physical register limit in 3.1+?
Andrew Trick
atrick at apple.com
Fri Nov 9 18:13:16 PST 2012
On Oct 30, 2012, at 6:18 PM, Andrew Clinton <andrew at sidefx.com> wrote:
> I noticed that in LLVM 3.0 the limit of 16K physical registers was removed, but it seems that this limit has returned in 3.1 with the use of uint16_t for register ids. Would it be possible to re-increase this storage size to uint32_t or to change this to a typedef so that I can patch it locally?
>
> See related thread "Increasing TargetRegisterInfo::FirstVirtualRegister"
When the register id type was changed it obviously should have been made a typedef. I think that would be a welcome albeit disruptive patch (maybe after the release?)
I don't know the background behind the register limit or changing it, but I imagine you could have trouble with data structures and algorithms scaling > 16k regs. Are you really using the LLVM register allocator to assign these? If not, you should either stick with virtual registers or model them as memory addresses.
-Andy
More information about the llvm-dev
mailing list