On Thu, Oct 08, 2020 at 08:18:46AM -0700, John Fastabend wrote:
> >
> > I couldn't think of any other case where scalar's ID has to be cleared.
> > Any kind of assignment and r0 return do it as well.
>
> How about a zero extending move?
>
> r1 = r2 <- r1.id = r2.id
> w1 = w1
>
> that will nar
Alexei Starovoitov wrote:
> On Wed, Oct 07, 2020 at 04:55:24PM -0700, John Fastabend wrote:
> > John Fastabend wrote:
> > > Alexei Starovoitov wrote:
> > > > From: Alexei Starovoitov
> > > >
> > > > The llvm register allocator may use two different registers
> > > > representing the
> > > > same
On Wed, Oct 07, 2020 at 04:55:24PM -0700, John Fastabend wrote:
> John Fastabend wrote:
> > Alexei Starovoitov wrote:
> > > From: Alexei Starovoitov
> > >
> > > The llvm register allocator may use two different registers representing
> > > the
> > > same virtual register. In such case the follow
John Fastabend wrote:
> Alexei Starovoitov wrote:
> > From: Alexei Starovoitov
> >
> > The llvm register allocator may use two different registers representing the
> > same virtual register. In such case the following pattern can be observed:
> > 1047: (bf) r9 = r6
> > 1048: (a5) if r6 < 0x1000 g
Alexei Starovoitov wrote:
> From: Alexei Starovoitov
>
> The llvm register allocator may use two different registers representing the
> same virtual register. In such case the following pattern can be observed:
> 1047: (bf) r9 = r6
> 1048: (a5) if r6 < 0x1000 goto pc+1
> 1050: ...
> 1051: (a5) if
On Tue, Oct 06, 2020 at 09:42:18PM -0700, Andrii Nakryiko wrote:
> > I see it differently.
> > I don't like moving if (reg->id) into find_equal_scalars(). Otherwise it
> > would
> > have to be named something like try_find_equal_scalars(). And even with such
> > "try_" prefix it's still not clean.
On Tue, Oct 6, 2020 at 9:15 PM Alexei Starovoitov
wrote:
>
> On Tue, Oct 06, 2020 at 08:31:23PM -0700, Andrii Nakryiko wrote:
> >
> > > 'linked' is also wrong. The regs are exactly equal.
> > > In case of pkt and other pointers two regs will have the same id
> > > as well, but they will not be equ
On Tue, Oct 06, 2020 at 08:31:23PM -0700, Andrii Nakryiko wrote:
>
> > 'linked' is also wrong. The regs are exactly equal.
> > In case of pkt and other pointers two regs will have the same id
> > as well, but they will not be equal. Here these two scalars are equal
> > otherwise doing *reg = *know
On Tue, Oct 6, 2020 at 7:18 PM Alexei Starovoitov
wrote:
>
> On Tue, Oct 06, 2020 at 06:56:14PM -0700, Andrii Nakryiko wrote:
> > On Tue, Oct 6, 2020 at 1:14 PM Alexei Starovoitov
> > wrote:
> > >
> > > From: Alexei Starovoitov
> > >
> > > The llvm register allocator may use two different regist
On Tue, Oct 06, 2020 at 06:56:14PM -0700, Andrii Nakryiko wrote:
> On Tue, Oct 6, 2020 at 1:14 PM Alexei Starovoitov
> wrote:
> >
> > From: Alexei Starovoitov
> >
> > The llvm register allocator may use two different registers representing the
> > same virtual register. In such case the following
On Tue, Oct 6, 2020 at 1:14 PM Alexei Starovoitov
wrote:
>
> From: Alexei Starovoitov
>
> The llvm register allocator may use two different registers representing the
> same virtual register. In such case the following pattern can be observed:
> 1047: (bf) r9 = r6
> 1048: (a5) if r6 < 0x1000 goto
From: Alexei Starovoitov
The llvm register allocator may use two different registers representing the
same virtual register. In such case the following pattern can be observed:
1047: (bf) r9 = r6
1048: (a5) if r6 < 0x1000 goto pc+1
1050: ...
1051: (a5) if r9 < 0x2 goto pc+66
1052: ...
1053: (bf)
12 matches
Mail list logo