Displaying 6 results from an estimated 6 matches for "nonallocatablereg".
Did you mean:
nonallocatableregs
2010 May 03
2
[LLVMdev] Default behavior of DeadMachineInstructionElim deletes all instructions
On Apr 29, 2010, at 2:06 PM, Villmow, Micah wrote:
> Ping. Anyone have any idea on how to fix this?
Does your getAllocatableSet() return a BitVector that is at least getNumRegs() bits long? Otherwise this doesn't work:
BitVector NonAllocatableRegs = TRI->getAllocatableSet(MF);
NonAllocatableRegs.flip();
2010 Apr 14
2
[LLVMdev] Default behavior of DeadMachineInstructionElim deletes all instructions
...space to the functions that are expected to be passed into the register.
So it looks something like this:
... do some work ...
Mov %r0, %r1025
Mov %r1, %r1026
Mov %r2, %r1027
Call someFunc %r0, %r1, %r2 <-- this func stores to memory
Ret
The moves to the physical registers are being deleted as NonAllocatableRegs is set to all one's and then inverted, and since these are deleted, every instruction that they depended on is also deleted.
I have a workaround(disable the pass), but I'd much rather figure out what I am doing incorrectly that is causing this behavior or if determining if the default ass...
2010 Apr 29
0
[LLVMdev] Default behavior of DeadMachineInstructionElim deletes all instructions
...space to the functions that are expected to be passed into the register.
So it looks something like this:
... do some work ...
Mov %r0, %r1025
Mov %r1, %r1026
Mov %r2, %r1027
Call someFunc %r0, %r1, %r2 <-- this func stores to memory
Ret
The moves to the physical registers are being deleted as NonAllocatableRegs is set to all one's and then inverted, and since these are deleted, every instruction that they depended on is also deleted.
I have a workaround(disable the pass), but I'd much rather figure out what I am doing incorrectly that is causing this behavior or if determining if the default ass...
2010 May 03
0
[LLVMdev] Default behavior of DeadMachineInstructionElim deletes all instructions
...r of DeadMachineInstructionElim deletes all instructions
On Apr 29, 2010, at 2:06 PM, Villmow, Micah wrote:
> Ping. Anyone have any idea on how to fix this?
Does your getAllocatableSet() return a BitVector that is at least getNumRegs() bits long? Otherwise this doesn't work:
BitVector NonAllocatableRegs = TRI->getAllocatableSet(MF);
NonAllocatableRegs.flip();
2010 Apr 14
2
[LLVMdev] Default behavior of DeadMachineInstructionElim deletes all instructions
...mplementation has DeadMachineInstructionElim pass enabled, which is causing havoc with my backend. Before entering this pass, everything in my machine function is fine, after this pass, all instructions that are not function calls are deleted. I've tracked this issue down to the line:
BitVector NonAllocatableRegs = TRI->getAllocatableSet(MF); (In my case all registers defined in RegisterInfo.td)
This function loops through all registers classes and sets all registers in the bitset that are allocatable. It then inverts the registers that are set to get the NonAllocatable registers and assigns that to th...
2010 Apr 14
0
[LLVMdev] Default behavior of DeadMachineInstructionElim deletes all instructions
...tation has DeadMachineInstructionElim pass enabled, which is causing havoc with my backend. Before entering this pass, everything in my machine function is fine, after this pass, all instructions that are not function calls are deleted. I’ve tracked this issue down to the line:
>
> BitVector NonAllocatableRegs = TRI->getAllocatableSet(MF); (In my case all registers defined in RegisterInfo.td)
>
> This function loops through all registers classes and sets all registers in the bitset that are allocatable. It then inverts the registers that are set to get the NonAllocatable registers and assigns...