public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Annotations in tree
@ 2005-07-26 20:21 drizzle drizzle
  2005-07-26 20:31 ` Diego Novillo
  0 siblings, 1 reply; 8+ messages in thread
From: drizzle drizzle @ 2005-07-26 20:21 UTC (permalink / raw)
  To: gcc

Hi,
   I am trying to find out how to insert annotations for certain array
references identified in tree-loop-linear.c so that when converting to
RTL they can be handled differently.  I find that simply inserting a
flag in the tree node is not enough as optimizations later on can lead
to the node being removed. Can any tell me what else can I do ?

I will appreciate all help....
dz

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Annotations in tree
  2005-07-26 20:21 Annotations in tree drizzle drizzle
@ 2005-07-26 20:31 ` Diego Novillo
  2005-07-26 22:39   ` drizzle drizzle
  0 siblings, 1 reply; 8+ messages in thread
From: Diego Novillo @ 2005-07-26 20:31 UTC (permalink / raw)
  To: drizzle drizzle; +Cc: gcc

On Tue, Jul 26, 2005 at 04:21:51PM -0400, drizzle drizzle wrote:

>    I am trying to find out how to insert annotations for certain array
> references identified in tree-loop-linear.c so that when converting to
>
In the ARRAY_REFs themselves?  I would build a hash table on the
side.  If it's on the DECLs, you could use var_ann() to add
annotations.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Annotations in tree
  2005-07-26 20:31 ` Diego Novillo
@ 2005-07-26 22:39   ` drizzle drizzle
  2005-07-26 23:10     ` Daniel Berlin
  0 siblings, 1 reply; 8+ messages in thread
From: drizzle drizzle @ 2005-07-26 22:39 UTC (permalink / raw)
  To: Diego Novillo; +Cc: gcc

I am not sure if I unerstand ...can you elaborate please ? So what  I
need is if I identify say a reference a[i] inside a loop, I want to
identify the corresponding RTL. What I find now is that
these get transformed for example 
             D.1065_17 = a_matrix[i_24][k_30];   // I have identified this 
             sum_12 = D.1065_17 + sum_31;

gets coalesced back into 
            sum = a_matrix[i][k] + sum;  before it is expaned into rtl.. 
How do I keep track that it is indeed the same array reference though
it has gone through some transformation. ( One another tranformation
is generating a pointer to it instead of using the array).

Sumesh 


On 7/26/05, Diego Novillo <dnovillo@redhat.com> wrote:
> On Tue, Jul 26, 2005 at 04:21:51PM -0400, drizzle drizzle wrote:
> 
> >    I am trying to find out how to insert annotations for certain array
> > references identified in tree-loop-linear.c so that when converting to
> >
> In the ARRAY_REFs themselves?  I would build a hash table on the
> side.  If it's on the DECLs, you could use var_ann() to add
> annotations.
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Annotations in tree
  2005-07-26 22:39   ` drizzle drizzle
@ 2005-07-26 23:10     ` Daniel Berlin
  2005-07-26 23:43       ` drizzle drizzle
  0 siblings, 1 reply; 8+ messages in thread
From: Daniel Berlin @ 2005-07-26 23:10 UTC (permalink / raw)
  To: drizzle drizzle; +Cc: Diego Novillo, gcc

On Tue, 2005-07-26 at 18:39 -0400, drizzle drizzle wrote:
> I am not sure if I unerstand ...can you elaborate please ? So what  I
> need is if I identify say a reference a[i] inside a loop, I want to
> identify the corresponding RTL. 

What are you trying to do at the RTL level with array references?
They don't last that long.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Annotations in tree
  2005-07-26 23:10     ` Daniel Berlin
@ 2005-07-26 23:43       ` drizzle drizzle
  2005-07-26 23:54         ` Daniel Berlin
  0 siblings, 1 reply; 8+ messages in thread
From: drizzle drizzle @ 2005-07-26 23:43 UTC (permalink / raw)
  To: Daniel Berlin; +Cc: gcc

What doesnt exist very long - the references ? 
      At RTL level, I just want to  insert a counter for each one of
these.   One alternative I saw is inserting a dummy functiion call.
Would that work ? If so,  for a given name, how do I create a
corresponding function expression for it ?

thanks for the answers 

On 7/26/05, Daniel Berlin <dberlin@dberlin.org> wrote:
> On Tue, 2005-07-26 at 18:39 -0400, drizzle drizzle wrote:
> > I am not sure if I unerstand ...can you elaborate please ? So what  I
> > need is if I identify say a reference a[i] inside a loop, I want to
> > identify the corresponding RTL.
> 
> What are you trying to do at the RTL level with array references?
> They don't last that long.
> 
> 
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Annotations in tree
  2005-07-26 23:43       ` drizzle drizzle
@ 2005-07-26 23:54         ` Daniel Berlin
  2005-07-27  0:08           ` drizzle drizzle
  0 siblings, 1 reply; 8+ messages in thread
From: Daniel Berlin @ 2005-07-26 23:54 UTC (permalink / raw)
  To: drizzle drizzle; +Cc: gcc

On Tue, 2005-07-26 at 19:42 -0400, drizzle drizzle wrote:
> What doesnt exist very long - the references ? 

By RTL, they've been expanded to pointer accesses.

>       At RTL level, I just want to  insert a counter for each one of
> these. 
Why do it at the rtl level.
Why not do it at the tree level?


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Annotations in tree
  2005-07-26 23:54         ` Daniel Berlin
@ 2005-07-27  0:08           ` drizzle drizzle
  2005-07-27  0:21             ` Daniel Berlin
  0 siblings, 1 reply; 8+ messages in thread
From: drizzle drizzle @ 2005-07-27  0:08 UTC (permalink / raw)
  To: Daniel Berlin; +Cc: gcc

tree level is fine too, it was just that the RTL level already had a
host of counters being inserted.  One implementation question if I may
ask, so at the tree level how do I create a call to my function. I
know how to insert it into the tree but some how all my creations
attempts with build_function_call fail.

thanks once again ...

On 7/26/05, Daniel Berlin <dberlin@dberlin.org> wrote:
> On Tue, 2005-07-26 at 19:42 -0400, drizzle drizzle wrote:
> > What doesnt exist very long - the references ?
> 
> By RTL, they've been expanded to pointer accesses.
> 
> >       At RTL level, I just want to  insert a counter for each one of
> > these.
> Why do it at the rtl level.
> Why not do it at the tree level?
> 
> 
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Annotations in tree
  2005-07-27  0:08           ` drizzle drizzle
@ 2005-07-27  0:21             ` Daniel Berlin
  0 siblings, 0 replies; 8+ messages in thread
From: Daniel Berlin @ 2005-07-27  0:21 UTC (permalink / raw)
  To: drizzle drizzle; +Cc: gcc

On Tue, 2005-07-26 at 20:08 -0400, drizzle drizzle wrote:
> tree level is fine too, it was just that the RTL level already had a
> host of counters being inserted.  One implementation question if I may
> ask, so at the tree level how do I create a call to my function.

build_function_call_expr.

Look at what tree-profile.c does.

>  I
> know how to insert it into the tree but some how all my creations
> attempts with build_function_call fail.
> 
> thanks once again ...
> 
> On 7/26/05, Daniel Berlin <dberlin@dberlin.org> wrote:
> > On Tue, 2005-07-26 at 19:42 -0400, drizzle drizzle wrote:
> > > What doesnt exist very long - the references ?
> > 
> > By RTL, they've been expanded to pointer accesses.
> > 
> > >       At RTL level, I just want to  insert a counter for each one of
> > > these.
> > Why do it at the rtl level.
> > Why not do it at the tree level?
> > 
> > 
> >

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2005-07-27  0:21 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-26 20:21 Annotations in tree drizzle drizzle
2005-07-26 20:31 ` Diego Novillo
2005-07-26 22:39   ` drizzle drizzle
2005-07-26 23:10     ` Daniel Berlin
2005-07-26 23:43       ` drizzle drizzle
2005-07-26 23:54         ` Daniel Berlin
2005-07-27  0:08           ` drizzle drizzle
2005-07-27  0:21             ` Daniel Berlin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).