This is the mail archive of the
mailing list for the GCC project.
Re: update address taken: don't drop clobbers
- From: Jeff Law <law at redhat dot com>
- To: Marc Glisse <marc dot glisse at inria dot fr>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 31 Oct 2014 15:00:22 -0600
- Subject: Re: update address taken: don't drop clobbers
- Authentication-results: sourceware.org; auth=none
- References: <alpine dot DEB dot 2 dot 02 dot 1406282350110 dot 31815 at stedding dot saclay dot inria dot fr> <CAFiYyc0fRhV09A3C2WT8yQ1ndp9dcyWntCVSPHzhwHb3tgNZLg at mail dot gmail dot com> <alpine dot DEB dot 2 dot 11 dot 1407271853200 dot 22972 at stedding dot saclay dot inria dot fr> <alpine dot DEB dot 2 dot 11 dot 1409071654310 dot 5483 at laptop-mg dot saclay dot inria dot fr> <alpine dot DEB dot 2 dot 11 dot 1410151621380 dot 8286 at stedding dot saclay dot inria dot fr> <543E9BED dot 4070905 at redhat dot com> <CAFiYyc27PjA1A_DZnfWGzU2y10Lp3rEoZs1m7hknq1eJDOqK_Q at mail dot gmail dot com> <alpine dot DEB dot 2 dot 11 dot 1410161321450 dot 27920 at stedding dot saclay dot inria dot fr> <543FFFD8 dot 4090406 at redhat dot com> <6255313F-DDD4-4DA6-B07E-832B251E167F at gmail dot com> <54400741 dot 9010203 at redhat dot com> <alpine dot DEB dot 2 dot 11 dot 1410171212370 dot 2952 at stedding dot saclay dot inria dot fr> <544AB4E7 dot 3000900 at redhat dot com> <alpine dot DEB dot 2 dot 11 dot 1410250800510 dot 1567 at laptop-mg dot saclay dot inria dot fr>
On 10/25/14 01:48, Marc Glisse wrote:
Matz changed all the out-of-ssa stuff a while back. Basically instead
of actually rewriting things to reflect going out of SSA, we just record
the partitions and refer back to the partitions representative element
Without the liveness patch, their lifetime should mean that they don't
coalesce with anything. But I would expect they get their own partition
then (I am forgetting these details way too fast...). With the liveness
patch which gives them an empty lifetime, they should all coalesce with
at least one other ssa_name.
What happens when we expand them? I guess they get a new pseudo since
they're a distinct partition? If we had a sensible story for
expansion, then I could probably get on board with this patch.
As I mentioned in my message, I don't know. Last time I looked I
couldn't find how coalescing was actually performed. tree-outof-ssa.c
has a function rewrite_trees with a promising comment but an empty body :-/
I agree that we need to understand what happens at expansion time when
the variables are not coalesced before pushing a patch that prevents
coalescing. I was kind of hoping someone would have a pointer...
So all we really need to do is verify reasonable partitions are built
and that should answer any questions around expansion.
Ah, I thought it was something you'd wanted, but sounds like it was
I don't really want to avoid gsi_replace, but I am willing to do it if
it makes reviewers nervous to call such a high-level function in the
cleanup code between passes (Richard in particular was unhappy about it).
To clarify things so I know what to test and re-post, we are talking
about the patch in
https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01787.html and we can
forget about the coalescing thing in
(I'd be happy with that :-)
Yes, those are the ones I was referring to.