This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Virtual operands of &a[1]?
On Fri, 2003-11-28 at 18:17, Zdenek Dvorak wrote:
> Hello,
>
> > > OK. Is there some specification of what exactly may be a gimple
> > > expression somewhere? There is something in tree-simple.c, but it
> > > is inaccurate and outdated.
> > >
> > It shouldn't be. tree-simple.c contains the GIMPLE grammar. If it's
> > missing something, it should be fixed. The is_gimple_* predicates are
> > used to validate expressions.
>
> but we do not keep it in this shape. For example ccp hapily produces
> statements like
>
> *(&int_dest[1] + 4B) = 5
>
> whose lhs does not match the "'*' ID" pattern.
>
True. The optimizers may briefly convert expressions into a non-gimple
form. Particularly when we do address propagation. But that is almost
immediately fixed by calls to fold_stmt, before the next SSA run. The
above expression should never be seen by get_expr_operands, for
instance.
Diego.