Re: I have questions regarding the 4.3 codebase...

2024-07-03 Thread Sid Maxwell via Gcc
Awesome, thanks Richard!

On Wed, Jul 3, 2024 at 2:44 AM Richard Biener 
wrote:

> On Tue, Jul 2, 2024 at 9:26 PM Sid Maxwell via Gcc 
> wrote:
> >
> > I have another gcc 4.3 question.  I'm trying to find where in the code
> base
> > the instrumentation for basic block coverage is done.  I've tracked down
> > where/how mcount() calls are generated, but I haven't even been able to
> > determine what function(s) are called to increment a basic block's count.
> > I'd also like to find more detailed information regarding profiling,
> > coverage, and function instrumentation.
>
> Look into gcc/tree-profile.c
>
> > On Wed, Mar 22, 2023 at 6:27 PM Sid Maxwell 
> wrote:
> >
> > > Is there anyone on the list with experience with the gcc 4.3 codebase?
> > > I'm currently maintaining a fork of it, with a PDP10 code generator.
> > >
> > > I've run into an issue involving the transformation of a movmemhi to a
> > > single PDP10 instruction (an xblt, if you're curious).
> > > The transformation appears to 'lose' its knowledge of being a store,
> > > resulting in certain following stores being declared dead, and code
> > > motion that shouldn't happen (e.g. a load moved before the xblt that
> > > depends on the result of the xblt).
> > >
> > > I'm hoping to find someone who can help me diagnose the problem.  We
> want
> > > to use this instruction rather than the copy-word-loop currently
> generated
> > > for struct assignments.
> > >
> > > Thanks, in advance, for any assistance.
> > >
> > > -+- Sid Maxwell
> > >
>


Re: I have questions regarding the 4.3 codebase...

2024-07-02 Thread Sid Maxwell via Gcc
I have another gcc 4.3 question.  I'm trying to find where in the code base
the instrumentation for basic block coverage is done.  I've tracked down
where/how mcount() calls are generated, but I haven't even been able to
determine what function(s) are called to increment a basic block's count.
I'd also like to find more detailed information regarding profiling,
coverage, and function instrumentation.

On Wed, Mar 22, 2023 at 6:27 PM Sid Maxwell  wrote:

> Is there anyone on the list with experience with the gcc 4.3 codebase?
> I'm currently maintaining a fork of it, with a PDP10 code generator.
>
> I've run into an issue involving the transformation of a movmemhi to a
> single PDP10 instruction (an xblt, if you're curious).
> The transformation appears to 'lose' its knowledge of being a store,
> resulting in certain following stores being declared dead, and code
> motion that shouldn't happen (e.g. a load moved before the xblt that
> depends on the result of the xblt).
>
> I'm hoping to find someone who can help me diagnose the problem.  We want
> to use this instruction rather than the copy-word-loop currently generated
> for struct assignments.
>
> Thanks, in advance, for any assistance.
>
> -+- Sid Maxwell
>


Re: I have questions regarding the 4.3 codebase...

2023-03-23 Thread Sid Maxwell via Gcc
I'll take a look, Paul, thanks.  It hadn't occurred to me to compare
different machines' uses.

-+- Sid

On Thu, Mar 23, 2023 at 10:29 AM Paul Koning  wrote:

>
>
> > On Mar 23, 2023, at 10:13 AM, Sid Maxwell via Gcc 
> wrote:
> >
> > Thanks for reaching out, Julian, I greatly appreciate your help.  Please
> > forgive and over- or under-sharing.  If I've left something out, please
> let
> > me know.
> >
> > From my pdp10.md:
> >
> > ;; JIRA sw_gcc-68.  gcc recognizes the "movmemhi" 'instruction' for
> > ;; doing block moves, as in struct assignment.  This pattern wasn't
> > ;; present, however.  I've added it, and it's companion function
> > ;; pdp10_expand_movmemhi().
> >
> > (define_expand "movmemhi"
> >   [(match_operand:BLK 0 "general_operand" "=r")
> >(match_operand:BLK 1 "general_operand" "=r")
> >(match_operand:SI 2 "general_operand" "=r")
> >(match_operand:SI 3 "const_int_operand" "")
> >   ]...
>
> I don't remember that far back, but looking at current examples (like
> vax.md) that seems like an odd pattern.  vax.md has a three operand pattern
> with the first two marked as "memory_operand" and only the first one has
> the = modifier on it showing it's an output operand.
>
> What does the 4.3 version of gccint say about it?  Or the 4.3 version of
> vax.md?
>
> paul
>
>


Re: I have questions regarding the 4.3 codebase...

2023-03-23 Thread Sid Maxwell via Gcc
RD);
 emit_move_insn(mem, temp);
 break;

   case 3:
 temp = gen_reg_rtx(SImode);
 emit_insn(gen_extzv(temp, gen_rtx_MEM(SImode, plus_constant(source, n
/ 4)), GEN_INT(27), GEN_INT(0)));
 emit_insn(gen_insv(gen_rtx_MEM(SImode, plus_constant(destination, n /
4)), GEN_INT(27), GEN_INT(0), temp));
 break;
   }

   return 1;
}


On Thu, Mar 23, 2023 at 3:09 AM Julian Brown 
wrote:

> On Wed, 22 Mar 2023 18:27:28 -0400
> Sid Maxwell via Gcc  wrote:
>
> > Is there anyone on the list with experience with the gcc 4.3
> > codebase?  I'm currently maintaining a fork of it, with a PDP10 code
> > generator.
> >
> > I've run into an issue involving the transformation of a movmemhi to a
> > single PDP10 instruction (an xblt, if you're curious).  The
> > transformation appears to 'lose' its knowledge of being a store,
> > resulting in certain following stores being declared dead, and code
> > motion that shouldn't happen (e.g. a load moved before the xblt that
> > depends on the result of the xblt).
> >
> > I'm hoping to find someone who can help me diagnose the problem.  We
> > want to use this instruction rather than the copy-word-loop currently
> > generated for struct assignments.
>
> I think we'd need a bit more info than that... what does the movmemhi
> instruction pattern look like, for example?
>
> Julian
>
>
>


I have questions regarding the 4.3 codebase...

2023-03-22 Thread Sid Maxwell via Gcc
Is there anyone on the list with experience with the gcc 4.3 codebase?  I'm
currently maintaining a fork of it, with a PDP10 code generator.

I've run into an issue involving the transformation of a movmemhi to a
single PDP10 instruction (an xblt, if you're curious).  The transformation
appears to 'lose' its knowledge of being a store, resulting in certain
following stores being declared dead, and code motion that shouldn't happen
(e.g. a load moved before the xblt that depends on the result of the xblt).

I'm hoping to find someone who can help me diagnose the problem.  We want
to use this instruction rather than the copy-word-loop currently generated
for struct assignments.

Thanks, in advance, for any assistance.

-+- Sid Maxwell