This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix PR middle-end/17793
- From: Eric Botcazou <ebotcazou at libertysurf dot fr>
- To: gcc-patches at gcc dot gnu dot org
- Cc: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Date: Wed, 20 Oct 2004 20:58:21 +0200
- Subject: Re: [PATCH] Fix PR middle-end/17793
- References: <10410201351.AA17731@vlsi1.ultra.nyu.edu>
> I'd expect that original to be first transformed to:
> NOP_EXPR <pointer_type <record_type>>
> ADDR_EXPR <pointer_type <integer_type1>>
> NOP_EXPR <integer_type1>
> ARRAY_REF <integer_type2>
> Then we'd go back and process the ADDR_EXPR again and do the same
> thing (if valid, meaning if the size isn't changing or it is and the
> endianness is right). But you don't need to look inside the
> VIEW_CONVERT_EXPR to do that.
May I ask you to re-read http://gcc.gnu.org/ml/gcc/2004-10/msg00651.html?
There is explained why doing so results in an ICE
> Moreover, you don't need the two NOP_EXPRs in the result: one is enough.
Probably. But I'm under the impression stripping unneeded NOP_EXPRs is not
the business of gimplify_addr_expr.