This is the mail archive of the gcc@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: [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.


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