search for: reg16468

Displaying 7 results from an estimated 7 matches for "reg16468".

Did you mean: reg1646
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 SlotIndex 748. Why is this? Should I add anything special to the basic BuildMI calls? The LiveIntervalsAnalysis, then ad...
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 see, LiveVariables has marked the high part dead, even though the super-register is used at SlotIndex 748. Why is this? Should I add anything special to the basic BuildMI calls? That code is not in...
2011 May 20
1
[LLVMdev] subregisters, def-kill
If I write %reg16506<def> = INSERT_SUBREG %reg16506, %reg16445, hi16; #1 %reg16506<def> = INSERT_SUBREG %reg16506, %reg16468, lo16; #2 store %reg16506 #3 it will not coalesce, as LiveVariables: on #2: %16506 gets #2 as a kill #3: %16506 gets #3 as an additional kill LiveIntervalAnalysis: The common case of a def/kill in same MBB...
2011 May 20
1
[LLVMdev] subregisters, def-kill
...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 see, LiveVariables has marked the high part dead, even though the super-register is used at SlotIndex 748. Why is this? Should I add anything special to the basic BuildMI calls? >...
2011 May 09
0
[LLVMdev] wide memory accesses
On May 9, 2011, at 9:00 AM, Jonas Paulsson wrote: > Hi, > > I am trying to take 16 bit memory reads and combine them to a single 32 bit read. I am having trouble to make the code simply read 32 bytes and the use the subregisters accordingly, without unnecessary copying. > > I have tried two techniques, in the MachineFunction: > > 1. replace the MachineOperands in the users
2011 May 20
1
[LLVMdev] LLVMdev Digest, Vol 83, Issue 33
...M, 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 see, LiveVariables has marked the high part dead, even though > the super-register is used at SlotIndex 748. Why is this? Should I add > anything special to the basic BuildMI call...
2011 May 09
2
[LLVMdev] wide memory accesses
Hi, I am trying to take 16 bit memory reads and combine them to a single 32 bit read. I am having trouble to make the code simply read 32 bytes and the use the subregisters accordingly, without unnecessary copying. I have tried two techniques, in the MachineFunction: 1. replace the MachineOperands in the users of the data with the new register/subregister index. This yields an assert failure