andrew at sidefx.com
2011-Jan-07 06:39 UTC
[LLVMdev] Increasing TargetRegisterInfo::FirstVirtualRegister?
> If you're interested in doing this, I'd suggest hacking up the backend to > not run register allocation, and represent all your "physical" registers > are virtual registers. This gives you an unlimited number. >Yes it would be ideal to use all virtual registers, but a glance at the code seemed to indicate the the use of physical registers, spilling, etc. was pretty ingrained in all the register allocation algorithms, so it seemed like it would be difficult to extract. I also still need to minimize the number of registers and minimize copies as if it were generating code for more restrictive hardware. Ideally I'd like something like the linear register allocator but that never spilled or assigned physical registers, along with other goodies like coalescing and phi elimination. On the other hand, just increasing the allowable physical registers would immediately solve most of my problems. Andrew
Chris Lattner
2011-Jan-07 07:07 UTC
[LLVMdev] Increasing TargetRegisterInfo::FirstVirtualRegister?
On Jan 6, 2011, at 10:39 PM, andrew at sidefx.com wrote:> >> If you're interested in doing this, I'd suggest hacking up the backend to >> not run register allocation, and represent all your "physical" registers >> are virtual registers. This gives you an unlimited number. >> > > Yes it would be ideal to use all virtual registers, but a glance at the > code seemed to indicate the the use of physical registers, spilling, etc. > was pretty ingrained in all the register allocation algorithms, so it > seemed like it would be difficult to extract. I also still need to > minimize the number of registers and minimize copies as if it were > generating code for more restrictive hardware. > > Ideally I'd like something like the linear register allocator but that > never spilled or assigned physical registers, along with other goodies > like coalescing and phi elimination. > > On the other hand, just increasing the allowable physical registers would > immediately solve most of my problems.Unless your goal is to merge this work onto LLVM mainline, the best thing to do is a local hack in your tree. -Chris
ether zhhb
2011-Jan-07 07:19 UTC
[LLVMdev] Increasing TargetRegisterInfo::FirstVirtualRegister?
hi andrew, On Fri, Jan 7, 2011 at 2:39 PM, <andrew at sidefx.com> wrote:> >> If you're interested in doing this, I'd suggest hacking up the backend to >> not run register allocation, and represent all your "physical" registers >> are virtual registers. This gives you an unlimited number. >> > > Yes it would be ideal to use all virtual registers, but a glance at the > code seemed to indicate the the use of physical registers, spilling, etc.you can override the function "addPassesToEmitFile" of your target machine, so register allocator will not run on your machinefunctions. best regards ether
Andrew Clinton
2011-Jan-07 19:08 UTC
[LLVMdev] Increasing TargetRegisterInfo::FirstVirtualRegister?
On 01/07/2011 02:07 AM, Chris Lattner wrote:> > Unless your goal is to merge this work onto LLVM mainline, the best thing to do is a local hack in your tree. > > -ChrisYes, I will create a patch for my tree to increase FirstVirtualRegister. Would this be a good change to include in 2.9?
Reasonably Related Threads
- [LLVMdev] Increasing TargetRegisterInfo::FirstVirtualRegister?
- [LLVMdev] Increasing TargetRegisterInfo::FirstVirtualRegister?
- [LLVMdev] Increasing TargetRegisterInfo::FirstVirtualRegister?
- [LLVMdev] Increasing TargetRegisterInfo::FirstVirtualRegister?
- [LLVMdev] Increasing TargetRegisterInfo::FirstVirtualRegister?