This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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~