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 self checking infrastructure


> On Wed, Nov 19, 2003 at 06:44:50PM +0100, Jan Hubicka wrote:
> >    b) verifying gimple types is almost impossible now.  The reason is
> >    ssa_useless_type_conversion.  Where we got about the plans to make it
> >    transitive and symteric?
> 
> I'm working on some of this this afternoon, verifying that the types
> match across ADDR_EXPR, INDIRECT_REF, ARRAY_REF only.  My interest 
> here comes out of wanting to fix ...

OK, so I am skipping this bit and wairing for your job :)
I am almost done with verify_stmts except for tree sharing, as I am
still not clear about the tree sharing rules.  (Did I mentioned it in
original email?)

> 
> >    c) I commonly got hit by the feature of gimple allowing almost
> >    arbitrarily complex constant operands.  What about restricting it
> >    into primitive constants +
> >    (plus_expr (nop_expr (addr_exr )) (integer_cst) as the most complex
> >    form?
> 
> ... this.  After my fold_stmt changes as of this morning, the only
> way (that I know of so far) of producing *(&var + 8) is for there to
> be a front-end bug wrt types.  Try to produce one of these from the
> C level and you'll get a cast which will prevent propagating the
> address into the dereference.
OKm I will update the tree.  I am not sure I understand your correctly.
How complex may the symbolic references look like now?
> 
> I've found more than a dozen such bugs so far.
> 
> At present, NOP_EXPRs are *not* valid gimple operands.  Believe it
> or not, but allowing that is even more complex than the PLUS_EXPR
> that we currently allow.
> 
> >    Doing fold_stmt as part of
> >    remove_useless_* uncovers latent bugs in fold_stmt.  Any plans on
> >    fixing the folders and any progress on this?
> 
> Try again.
Will do.

Honza
> 
> 
> r~


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