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: [lto] ditch rebuild_ssa_for_lto


Nathan Froyd wrote:
I'd like to check in the patch below on the LTO branch.  However, it is
mildly controversial, intent-wise, so I'm going to hold off for a couple
of days to let people comment on the approach.  I will note up front
that this patch makes forward progress on the testsuite--the only
problems appear to be when we have virtual operands in statements; the
virtual operands do not get reconstituted on the reading side.  I don't
know how hard this is to fix...

We have two SSA forms in GCC, the "real" or "scalar" SSA form for locals and scalar temporaries. This form allows overlapping live ranges for the various SSA names of a single symbol. This form *cannot* be reconstituted from scratch without going out of SSA first.


The "virtual" or "memory" SSA form for aliased, global and aggregate symbols is a FUD-chain web. This form can be reconstituted from scratch without any restrictions.

If we are streaming out the IL in SSA form, then on the way back in we can reconstitute the memory SSA bits from scratch, but we must not touch the real SSA form.

I'll look at the patch later. I'm a bit tied up at the moment.


Diego.



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