From: Diego Novillo <dnovillo@google.com>
To: Aldy Hernandez <aldyh@redhat.com>
Cc: amacleod@redhat.com, gcc-patches@gcc.gnu.org
Subject: Re: [tuples] gimple-low and assorted machinery
Date: Thu, 09 Aug 2007 14:52:00 -0000 [thread overview]
Message-ID: <46BB28C6.60800@google.com> (raw)
In-Reply-To: <20070808181210.GA15402@redhat.com>
On 8/8/07 2:12 PM, Aldy Hernandez wrote:
> 3. We have a version of call_expr_flags for tuples: gimple_call_flags.
> Yes, it sucks to have duplicate functionality, but we need a tuples
> version *and* a tree version.
This one's easy. Just factor out the code in call_expr_flags that deals
with the extracted fndecl and have both gimple_call_flags and
call_expr_flags call that routine.
> Diego, could you please update the design document?
Nobody is tying your hands. The code is Right There on the wiki ;)
OK, I'll do it.
> In the GIMPLE_CALL tuple, we store the result from
> get_callee_fndecl() as Diego had suggested, but we also need (after
> gimplification) to do things depending on whether we have a
> FUNCTION_DECL or not.
So we test for gimple_call_fn() being a FUNCTION_DECL. I don't see
where we rely on the function value being NULL. We can just ask for
TREE_CODE (gimple_call_fn (gs)) == FUNCTION_DECL, or even better, code
this condition in a predicate is_gimple_indirect_call (gs).
Regarding the GC problem, the easiest solution I can think of is to have
the GIMPLE bodies inside a VEC and then have a pointer map as an index
into that VEC. The pointer map is really only useful to avoid linear
scanning in set_gimple_body() and gimple_body().
This solves the problem because we now have GC roots pointing at all the
sequence bodies. The lowering is also ICEing here and there in
compile.exp. I'll commit the changes after I fix all the regressions.
prev parent reply other threads:[~2007-08-09 14:52 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-08 18:12 Aldy Hernandez
2007-08-09 14:52 ` Diego Novillo [this message]
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=46BB28C6.60800@google.com \
--to=dnovillo@google.com \
--cc=aldyh@redhat.com \
--cc=amacleod@redhat.com \
--cc=gcc-patches@gcc.gnu.org \
/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).