Reduced physical register limit in 3.1+?

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.