public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Henderson <rth@redhat.com>
To: Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
Cc: gcc-patches@gcc.gnu.org
Subject: Re: Patch to allow Ada to work with tree-ssa
Date: Tue, 22 Jun 2004 18:47:00 -0000	[thread overview]
Message-ID: <20040622172136.GA3149@redhat.com> (raw)
In-Reply-To: <10406221359.AA05860@vlsi1.ultra.nyu.edu>

On Tue, Jun 22, 2004 at 09:59:23AM -0400, Richard Kenner wrote:
>     >     if (stmt == NULL_TREE)
>     > -     stmt = build_empty_stmt ();
>     > +     stmt = alloc_stmt_list ();
> 
>     Huh?
> 
> Empty statement lists will do away when being inserted into another
> statement list: empty statements won't.

If we're going to change anything here, I'd prefer that the
gimplifier handle NULL as an empty statement.  Then we don't
have to allocate anything or merge anything.

>     I wonder if "stride" might be a better term than "size"?
> 
> Perhaps.  It's more descriptive in a technical sense.  But it does
> come from the SIZE value, so that's the counterargument.  I don't object
> to changing it.

I should have been more clear.  Fortran has plans to use this
field for stride different than size.

> It's required that get_inner_reference make that multiplication so
> that it can use highest_pow2_factor for proper alignment tracking.

Not really.  There are only two things that highest_pow2_factor is
going to see given gimple input: a constant or variable times 
constant.  Which means that you can just as well use the TYPE_ALIGN
when given a non-constant.

>     Please don't add unnecessary forward declarations.
> 
> "unncessary"?  The convention is to have them all there.

Back when we were writing in K&R C and it was necessary.
The convention has changed since then.

>     Well, we certainly *can* give gimplify_conversion the pre-queue from
>     gimplify_expr, but it seems unlikely that we'll necessarily see that
>     non-constant lower-bound and generate (symbol_ref array).  I.e. 
>     avoid all arithmetic when we get to the rtl level.
> 
> Right.  It doesn't seem worth the trouble here.

Meaning the comment is incorrect.

> Because get_inner_reference doesn't support IMAGPART_EXPR and REALPART_EXPR.
> It seemed cleaner to break up the two cases since they are handled
> differently.

I disagree.  It's just another accessor.  Feed the whole lot to
expand_expr and you'll get the right answer anyway.

>     I don't understand what you're doing here.  In what way could you 
>     have not already gimplified these references?
> 
> It's the case where the "statement" is a reference to a component of
> volatile.

So you've got a reference a.b.c.d.e in which, say, b is volatile?
So why are you removing the c.d.e bits of the componentry, so that
you access more of b than the user intended?

> I'll have to investigate that: I never heard of list_p.

Yes you have.  It's the list argument to append_to_statemnt_list.
Meaning taking a "tree *" in which to put statements is a better
option than returning a statement list.

>     It is incorrect to give gimplify_expr a post-queue here, because
>     *expr_p is going to be used after *stmt_p.  Either gimplify_expr
>     will find a workaround for the missing post-queue, or we'll abort.
>     As it is we'll generate incorrect code.
> 
> Oh, right.  I'll abort.

No, you don't abort, gimplify_expr aborts.   Just don't provide
the post queue.


r~

       reply	other threads:[~2004-06-22 17:21 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <10406221359.AA05860@vlsi1.ultra.nyu.edu>
2004-06-22 18:47 ` Richard Henderson [this message]
2004-07-29 19:02 Richard Kenner
  -- strict thread matches above, loose matches on Subject: below --
2004-07-29 18:43 Richard Kenner
2004-07-29 17:12 Richard Kenner
2004-07-29 17:13 ` Diego Novillo
2004-07-29 17:57 ` Richard Henderson
2004-06-25 15:28 Richard Kenner
2004-06-28 15:09 ` Paolo Bonzini
2004-06-24 15:58 Richard Kenner
2004-06-24 16:04 ` Nathan Sidwell
2004-06-25 14:43 ` Joseph S. Myers
2004-06-23  5:54 Richard Kenner
2004-06-23  2:32 Richard Kenner
2004-06-23  4:54 ` Bryce McKinlay
2004-06-23  0:16 Richard Kenner
2004-06-22 23:05 Richard Kenner
2004-06-23 11:42 ` Nathan Sidwell
2004-06-22 22:18 Richard Kenner
2004-06-23  1:07 ` Richard Henderson
2004-06-22 21:30 Richard Kenner
2004-06-22 22:04 ` Paul Brook
2004-06-22 21:27 Richard Kenner
2004-06-22 21:29 ` Mark Mitchell
2004-06-22 21:10 Richard Kenner
2004-06-22 21:12 ` Mark Mitchell
2004-06-22 22:16 ` Daniel Berlin
2004-06-22 21:07 Richard Kenner
2004-06-22 21:12 ` Bryce McKinlay
2004-06-22 21:05 Richard Kenner
2004-06-22 21:01 Richard Kenner
2004-06-22 20:54 Richard Kenner
2004-06-22 21:06 ` Paul Brook
2004-06-22 21:37 ` Richard Henderson
2004-06-22 20:44 Richard Kenner
2004-06-22 21:03 ` Mark Mitchell
2004-06-23 20:58 ` Geoffrey Keating
2004-06-22 20:40 Richard Kenner
2004-06-22 22:02 ` Nathan Sidwell
2004-06-22 22:27   ` Joseph S. Myers
2004-06-22 20:23 Richard Kenner
2004-06-22 20:37 ` Joseph S. Myers
2004-06-23 20:47 ` Geoffrey Keating
2004-06-24 14:59   ` Joseph S. Myers
2004-06-24 16:26     ` Richard Earnshaw
2004-06-24 19:57       ` Laurent GUERBY
2004-06-24 20:06         ` Diego Novillo
2004-06-24 20:24           ` Andrew Pinski
2004-06-24 22:35             ` Laurent GUERBY
2004-06-24 21:33           ` Laurent GUERBY
2004-06-24 21:01         ` Joseph S. Myers
2004-06-25 14:51         ` Richard Earnshaw
2004-06-22 20:22 Richard Kenner
2004-06-22 20:30 ` Mark Mitchell
2004-06-22 19:05 Richard Kenner
2004-06-22 20:10 ` Joseph S. Myers
2004-06-22 20:27 ` Andrew Haley
2004-06-22 18:33 Richard Kenner
2004-06-22 18:19 Richard Kenner
2004-06-22 18:36 ` Nathan Sidwell
2004-06-22 18:37   ` Nathan Sidwell
2004-06-22 18:45 ` Mark Mitchell
2004-06-22 17:05 Richard Kenner
2004-06-22 17:21 ` Andrew Haley
2004-06-22 19:01   ` Richard Henderson
2004-06-22 16:34 Richard Kenner
2004-06-22 16:33 Richard Kenner
2004-06-22 17:46 ` Mark Mitchell
2004-06-22 18:17   ` Joseph S. Myers
2004-06-22 18:52   ` Richard Henderson
2004-06-22 19:37     ` Zack Weinberg
2004-06-22  7:05 Richard Kenner
2004-06-22  7:29 ` Mark Mitchell
2004-06-22  9:14   ` Andrew Pinski
2004-06-22 14:16   ` Andrew Haley
2004-06-22 11:00 ` Richard Henderson
2004-06-22 13:52 ` Ranjit Mathew
2004-07-29 17:02 ` Diego Novillo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040622172136.GA3149@redhat.com \
    --to=rth@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=kenner@vlsi1.ultra.nyu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).