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