This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: What to remove after tree-ssa is merged?
- From: Michael Matz <matz at suse dot de>
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 4 Feb 2004 17:10:20 +0100 (CET)
- Subject: Re: What to remove after tree-ssa is merged?
- References: <10402041551.AA01170@vlsi1.ultra.nyu.edu>
Hi,
On Wed, 4 Feb 2004, Richard Kenner wrote:
> Or are P_E in types also used to actually influence code generation
> (instead of P_E just in expressions/statements). And in that case: why is
> this so, and why are P_E in statements not usable for this?
>
> I'm not sure I understand what you mean.
Probably I'm asking the wrong thing because I'm in turn unsure, where
exactly P_E is used inside types. The example you gave (as I understood
it) happens to actually use the P_E only in the context of an expression
(a COMPONENT_REF in fact), also if the P_E expression was only found by
looking into the type of the bounded array.
So in that example the P_E is used in expressions, so they could be
lowered to trees not containing P_E (this involves probably making some
element references more explicit). Basically in the frontend you would
somehow lower all expressions referencing any P_E to something carrying
out the necessary calculations explicitely. I don't yet see, where this
would not work.
To that question you then mentioned P_E inside types, but they should only
matter for type comparing or in context of expressions AFAICS. The former
needs language specific type callbacks (or the frontend doesn't leak such
types to the middle end), the latter can be done with the above frontend
specific lowering.
Ciao,
Michael.