This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Regression for trunk on i686-pc-linux-gnu
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: dnovillo at redhat dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 27 Jul 04 19:05:32 EDT
- Subject: Re: Regression for trunk on i686-pc-linux-gnu
Why not call get_base_address? That's the standard way of getting the
pointer out of an INDIRECT_REF. Assuming that the INDIRECT_REF is
already gimplified, of course.
I didn't say it was hard, just that it wasn't *trivial*, so it's not
clear you want to have the code explicitly everywhere.
I still think that it is a mistake adding ADDR_EXPR <INDIRECT_REF <>>
to GIMPLE.
I agree, but that's not what was being done here. We're allowing it
on a transitory basis knowing that we're about to fold it away.
This needs to be solved in the front end. By allowing it in GIMPLE we
are exposing ourselves to trouble.
It's not a front end issue. This comes up during gimplification (the
conversion of a MODIFY_EXPR to a memcpy call) and during constant
propagation. I can't see a front end wanting to generate these things.
I would welcome a true GIMPLE grammar verifier at this point. I think
we are allowing things in the grammar that we shouldn't. Right now the
closest thing we have to a verifier is get_expr_operands.
What about verify_stmt? That seems to be doing a good job.