This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix PR middle-end/17793
> > The problem is that the NOP_EXPR is stripped beforehand in the main loop
> > of the gimplifier because of
> >
> > /* Strip away as many useless type conversions as possible
> > at the toplevel. */
> > STRIP_USELESS_TYPE_CONVERSION (*expr_p);
>
> Ah, I suppose we hit that in the call to gimplify_expr for the NOP_EXPR, so
> we don't end up allocating a temporary.
Exactly.
> > Jeff proposed to bypass this particular kind of NOP_EXPRs (I've now
> > realized my original patch was not specific enough) in
> > gimplify_addr_expr.
> > [...]
> > Do you agree with this approach? I think it won't preclude us from
> > making a temporary for non-useless NOP_EXPRs if we deem it necessary.
>
> Yes, I think that makes sense.
OK. Patch tested with Ada on sparc-sun-solaris2.8 and installed. Thanks for
your help.
Note that I'll probably need it again to properly fix PR middle-end/17746
along the way you and Richard suggested, that is reevaluating what the pair
get_inner_reference/handled_component_p should accept.
--
Eric Botcazou