This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: gimplify_parameters
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: rth at redhat dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 21 Dec 04 13:05:38 EST
- Subject: Re: gimplify_parameters
Then explain the failure in PR 18067.
Well it doesn't fail now, so I can't look at it, but I believe the issue
there is something else, though it is something we need to address.
The problem is that we have a variably-sized type and so have gimplified
each of the variable parts of the type into variables. Some of those start
out being used in the code, so they are taken into SSA form.
But then they are found to be dead, so it gets left as an SSA_NAME.
That means we don't know value of that part of the type and so we can't
emit debugging information about it. Putting in the SAVE_EXPR keeps
it from blowing up, but we *still* don't know the data since it's not
being computed, being dead from a code generation perspective.
With -O2, variables are often removed and can't be seen by the debugger and
that's (unfortunately) sometimes the case with attributes of variably-sized
types. That's not new.
So I think the proper fix for that PR ought to be to allow SSA_NAME in
loc_descriptor_for_tree_1 as meaning "we don't know where this lives"
and revert the change to save_expr.