This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]