More on gimplify:create_tmp_var
Richard Kenner
kenner@vlsi1.ultra.nyu.edu
Thu Jun 10 00:23:00 GMT 2004
> The point is that a very deep nest of COMPONENT_REF, VIEW_CONVERT_EXPR,
> and ARRAY_REF is quite common in Ada. We don't need to make a temporary
> (or want to) of any of the aggregates in between. We also don't want to
> take their address since they are non-addressable.
They're non-addressable?
Quite commonly they are. Records are often packed so that fields (be
they scalars or aggregate) are not at their alignment boundary. So you
can't safely take their address.
That's why it's so critical that expand_expr_real/get_inner_reference
treat the entire chain as one single operation.
More information about the Gcc
mailing list