search for: vgpr40

Displaying 6 results from an estimated 6 matches for "vgpr40".

Did you mean: vgpr4
2019 Nov 13
2
imm COPY generated by PHI elim not propagated
...ode such that: vgpr1 = mov 0 branch bb bb: PHI vgpr2 = vgpr1, …. PHI vgpr3 = vgpr1, …. PHI vgpr4 = vgpr1, …. PHI vgpr5 = vgpr1, …. PHI node elimination is generating copies for all these PHIs (and hoisting them) as such: vgpr1 = 0 vgpr20 = COPY vgpr1 // old vgpr2 vgpr30 = COPY vgpr1 // old vgpr3 vgpr40 = COPY vgpr1 // old vgpr4 vgpr 50 = COPY vgprt1 // old vgpr5 I expect the zero to get propagated in a later phase but it's not. I was looking at adding immediate folding to the register coalescer but this doesn't really seem like the right place. Any suggestions? I'm sort of surprised...
2019 Nov 14
2
imm COPY generated by PHI elim not propagated
...gpr1, …. > PHI vgpr4 = vgpr1, …. > PHI vgpr5 = vgpr1, …. > > PHI node elimination is generating copies for all these PHIs (and hoisting them) as such: > > vgpr1 = 0 > vgpr20 = COPY vgpr1 // old vgpr2 > vgpr30 = COPY vgpr1 // old vgpr3 > vgpr40 = COPY vgpr1 // old vgpr4 > vgpr 50 = COPY vgprt1 // old vgpr5 > > I expect the zero to get propagated in a later phase but it's not. I was looking at adding immediate folding to the register coalescer but this doesn't really seem like the right place. Any suggestions?...
2019 Nov 15
2
imm COPY generated by PHI elim not propagated
...>> PHI vgpr5 = vgpr1, …. > >> > >> PHI node elimination is generating copies for all these PHIs (and > hoisting them) as such: > >> > >> vgpr1 = 0 > >> vgpr20 = COPY vgpr1 // old vgpr2 > >> vgpr30 = COPY vgpr1 // old vgpr3 > >> vgpr40 = COPY vgpr1 // old vgpr4 > >> vgpr 50 = COPY vgprt1 // old vgpr5 > >> > >> I expect the zero to get propagated in a later phase but it's not. I > was looking at adding immediate folding to the register coalescer but this > doesn't really seem like the right...
2019 Nov 20
2
imm COPY generated by PHI elim not propagated
...gt;> >> >> >> PHI node elimination is generating copies for all these PHIs (and >> hoisting them) as such: >> >> >> >> vgpr1 = 0 >> >> vgpr20 = COPY vgpr1 // old vgpr2 >> >> vgpr30 = COPY vgpr1 // old vgpr3 >> >> vgpr40 = COPY vgpr1 // old vgpr4 >> >> vgpr 50 = COPY vgprt1 // old vgpr5 >> >> >> >> I expect the zero to get propagated in a later phase but it's not. I >> was looking at adding immediate folding to the register coalescer but this >> doesn't really...
2020 May 29
2
Dynamically determine the CostPerUse value in the register allocator.
...argument registers, all VGPRs are callee-saved registers (VGPR32 - VGPR255). With the new ABI: We made VGPR32 - VGPR255 into equal number of callee-saved and caller-saved registers. For the same occupancy reason, these two sets are interleaved at a split boundary of 8. VGPR32-VGPR39 (Caller-saved) VGPR40-VGPR47 (Callee-saved) VGPR48-VGPR55 (Caller-saved) - - VGPR248-VGPR255 (Callee-saved) With the new ABI, the allocator's preference for callee-saved vs caller-saved depends on the input program. RA may end up allocating more caller-saved registers than the callee-sav...
2020 May 30
2
Dynamically determine the CostPerUse value in the register allocator.
...GPR32 - VGPR255). > > With the new ABI: > > We made VGPR32 - VGPR255 into equal number of callee-saved and > caller-saved registers. > > For the same occupancy reason, these two sets are interleaved at a split > boundary of 8. > > VGPR32-VGPR39 (Caller-saved) > > VGPR40-VGPR47 (Callee-saved) > > VGPR48-VGPR55 (Caller-saved) > > - > > - > > VGPR248-VGPR255 (Callee-saved) > > > > With the new ABI, the allocator’s preference for callee-saved vs > caller-saved depends on the input program. > > RA...