This is the mail archive of the
mailing list for the GCC project.
Re: [tree-ssa] tree-mustalias fix
- From: Jan Hubicka <jh at suse dot cz>
- To: law at redhat dot com
- Cc: Jan Hubicka <hubicka at ucw dot cz>,Diego Novillo <dnovillo at redhat dot com>, Jan Hubicka <jh at suse dot cz>,"gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 7 Jan 2004 12:44:33 +0100
- Subject: Re: [tree-ssa] tree-mustalias fix
- References: <20031219204859.GG11784@atrey.karlin.mff.cuni.cz> <200401070857.i078vW4S024790@speedy.slc.redhat.com>
> In message <20031219204859.GG11784@atrey.karlin.mff.cuni.cz>, Jan Hubicka write
> >> On Fri, 2003-12-19 at 15:20, Jan Hubicka wrote:
> >> > I just tested the idea of not considering (plus_expr (addr_expr) (cst))
> >> > as gimple invariant and it solves testcase (full testing is in progress)
> >> > and surprisingly enough it also improve Gerald's testcase:
> >> >
> >> But that's wrong. We will not consider that a constant, which may
> >> prevent propagation of address constants. This is covering over the
> >> problem.
> >This still looks inconsistent for me.
> &x + <const>
> is clearly an invariant. What would be inconsistent would be claiming
When &x + <const> is invariant (in this context gimple_min_invariant)
and thus valid gimple operand, it would be consistent requiring
tree-mustalias to not misscompile it as it does currently.
Diego argues that all such invariants shall be folded into x[const2] and
thus there is no need to deal with this particular form of invariant in
In that case I think it is more consistent to simply prohibit it as we
should not lose any optimization cases and we would get more robust
> that it is not invariant as you proposed.