This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Make alias_sets_conflict_p less conservative
- From: Michael Matz <matz at suse dot de>
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Cc: dberlin at dberlin dot org, gcc at gcc dot gnu dot org, joseph at codesourcery dot com, rguenther at suse dot de
- Date: Wed, 5 Mar 2008 21:56:45 +0100 (CET)
- Subject: Re: [PATCH] Make alias_sets_conflict_p less conservative
- References: <Pine.LNX.4.64.0803042155430.4133@zhemvz.fhfr.qr> <Pine.LNX.4.64.0803051336170.4133@zhemvz.fhfr.qr> <10803051256.AA05161@vlsi1.ultra.nyu.edu> <Pine.LNX.4.64.0803051452510.4133@zhemvz.fhfr.qr> <10803051426.AA05981@vlsi1.ultra.nyu.edu> <Pine.LNX.4.64.0803051559450.4133@zhemvz.fhfr.qr> <10803051515.AA06678@vlsi1.ultra.nyu.edu> <Pine.LNX.4.64.0803051614490.4133@zhemvz.fhfr.qr> <Pine.LNX.4.64.0803051724530.4133@zhemvz.fhfr.qr> <10803051630.AA08112@vlsi1.ultra.nyu.edu> <4aca3dc20803050857k45cccdf6r4c0f8ac3a3b336c6@mail.gmail.com> <10803051924.AA09430@vlsi1.ultra.nyu.edu> <Pine.LNX.4.64.0803052102210.20583@wotan.suse.de> <10803052042.AA11211@vlsi1.ultra.nyu.edu>
Hi,
On Wed, 5 Mar 2008, Richard Kenner wrote:
> > The problem lies in the way how we represent load and store dependencies
> > as virtual operands. Conflicts between a pair of mem accesses are not
> > evaluated by asking alias_set_conflicts_p() on both accesses, but instead
> > via a chain of virtual def and use operands.
>
> But I thought this whole discussion was about a change to
> alias_sets_conflict_p. So you've lost me.
alias_sets_conflict_p() is used to determine if an addressable variable
and a type conflict also from the tree-ssa alias machinery (in effect to
determine which virtual variables need to be clobbered). It just isn't
feed COMPONENT_REFs, that's what you found very wrong, and I explained the
reasons for not doing so. If we were to do that (and hence become more
precise) we would have to increase memory use as just explained. You were
asking how feeding COMPONENT_REFs would be connected with memory use, and
I explained it.
Richis proposed change to alias_sets_conflict_p is not directly connected
with this, or only insofar as it tries to say "no" in more cases even in
the mediocre way tree-ssa asks conflict_p. In the course of discussion
it became clear that a much better fix would be to feed it COMPONENT_REFs,
but we can't easily as explained.
Ciao,
Michael.