This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
[tree-ssa] Inlining vs gimple vs compound expressions
- From: Andrew Haley <aph at redhat dot com>
- To: law at redhat dot com
- Cc: dnovillo at redhat dot com, amacleod at redhat dot com, jason at redhat dot com,gcc at gcc dot gnu dot org
- Date: Thu, 27 Feb 2003 19:59:18 +0000 (GMT)
- Subject: [tree-ssa] Inlining vs gimple vs compound expressions
- References: <200302271946.h1RJkURA032086@localhost.redhat.com>
law at redhat dot com writes:
>
>
> Diego/Andrew -- Back when we were in Toronto, we discussed getting rid of
> COMPOUND_EXPRs. Where do we stand on this?
>
> The reason I ask is I'm sitting here looking at how to modify the inliner
> so that the trees it creates are still in gimple form. And, believe it
> or not, it doesn't look terribly hard. Conceptually, all I think I need
> is a stack of CE nodes. Of course if CE nodes are going away soon,
> then, well, my scheme would be a waste of time to implement.
>
> If CE nodes are going to hang around for a little while, I've got a
> couple of questions.
>
> First, can we ever get a function with no CE nodes? ie, can a function's
> tree ever be something like this:
>
> RETURN_EXPR
> |
> MODIFY_EXPR
> /\
> / \
> / \
> RESULT CALL_EXPR
I think I have seen that with Java.
> Second, is TREE_OPERAND (CE_NODE, 1)) ever anything other than another
> CE node or NULL? ie, is this a valid tree?
>
> CE
> /\
> / \
> / \
> LOOP_EXPR \
> RETURN_EXPR
> |
> MODIFY_EXPR
> /\
> / \
> / \
> RESULT CALL_EXPR
Java again: AFAIK in all cases it's quite legal to replace a
COMPOUND_EXPR with a BLOCK or a variable and vice versa.
Andrew.