search for: reg16507

Displaying 5 results from an estimated 5 matches for "reg16507".

Did you mean: reg16506
2011 May 09
2
[LLVMdev] wide memory accesses
...achineFunction: 1. replace the MachineOperands in the users of the data with the new register/subregister index. This yields an assert failure during VirtRegRewriter, in substPhysReg: "Invalid SubReg for physical register", after the Two-address rewrote this: %reg16445<def> = add %reg16507:hi16, %reg16510:hi16 ; 32bit:16507,16510, 16bit: 16445 prepend: %reg16445<def> = COPY %reg16507; rewrite to: %reg16445<def> = addh_1_8 %reg16445:hi16, %reg16510:hi16 In my eyes, there should not have been a subreg 'hi16' for the 16445 reg - this reg is 16 bits. I w...
2011 May 09
0
[LLVMdev] wide memory accesses
...> 1. replace the MachineOperands in the users of the data with the new register/subregister index. This yields an assert failure during VirtRegRewriter, in substPhysReg: "Invalid SubReg for physical register", after the Two-address rewrote this: > > %reg16445<def> = add %reg16507:hi16, %reg16510:hi16 ; 32bit:16507,16510, 16bit: 16445 > prepend: %reg16445<def> = COPY %reg16507; > rewrite to: %reg16445<def> = addh_1_8 %reg16445:hi16, %reg16510:hi16 > > In my eyes, there should not have been a subreg 'hi16' for the 16445 reg - this...
2011 May 20
1
[LLVMdev] subregisters, def-kill
...f the block, and from the beginning - as it is believed it is not a local live-range. SimpleRegisterCoalescing: This ends up as overlapping live-ranges, where the value numbers did not become one, and Interference is reported. This must then be considered bad code in LLVM. But if I write %reg16507<def> = COPY %reg16445; %reg16508<def> = COPY %reg16468; %reg16506<def> = REG_SEQUENCE %reg16507, hi16, %reg16508, lo16; %reg16509<def> = st_2_1_postMod %reg16506, %reg16441, %reg16454, pred:20, pred:%CCReg; then, there is not an erroneous live-range that interferes, so...
2011 May 19
0
[LLVMdev] subregisters, def-kill
On May 19, 2011, at 7:47 AM, Jonas Paulsson wrote: > Hi, > > I am combining 16-bit registers to a 32 bit register in order to make a wide store, as per below: > > 732 %reg16506:hi16<def,dead> = COPY %reg16445<kill>; > 740 %reg16506:lo16<def> = COPY %reg16468<kill>; > 748 %r3<def,dead> = store %reg16506<kill>, %r3, > > As you can
2011 May 19
3
[LLVMdev] subregisters, def-kill
Hi, I am combining 16-bit registers to a 32 bit register in order to make a wide store, as per below: 732 %reg16506:hi16<def,dead> = COPY %reg16445<kill>; 740 %reg16506:lo16<def> = COPY %reg16468<kill>; 748 %r3<def,dead> = store %reg16506<kill>, %r3, As you can see, LiveVariables has marked the high part dead, even though the super-register is used at