This is the mail archive of the gcc-patches@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: update address taken: don't drop clobbers


On 07/11/14 06:05, Michael Matz wrote:
Hi,

On Thu, 10 Jul 2014, Jeff Law wrote:

The insight to note is, that undefined SSA names should really be
coalesced with something (otherwise you lost an optimization opportunity),
but it doesn't matter with _what_ each use of the undefined name is
coalesced, you can even identify different uses of them with different SSA
names (e.g. the LHS of each using stmt).  Requires some change in the
order things are done in out-of-ssa.

The last part is what I hinted might be problematical.  If some
undefined SSA_NAME appears on the RHS of two PHIs and we want to
coalesce that undefined SSA_NAME with the LHS of each of those PHIs,
then the LHS of those two PHIs must coalesce as well.  At least that's
my recollection of how all that stuff worked.

Only with the usual definition of coalescing (being transitive).  For
undefined SSA names the definition can be mended.
My recollection is the transitive nature of coalescing is baked into our implementation. I'd be happy to be proved wrong :-)


Jeff


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