This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RE: SSA code debugging
- From: Diego Novillo <dnovillo at redhat dot com>
- To: "Flynn, Lori Arline (Lori)" <laflynn at lucent dot com>
- Cc: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Tue, 10 Aug 2004 09:58:57 -0400
- Subject: RE: SSA code debugging
- Organization: Red Hat Canada
- References: <9B457B1322AAAE46BD5E693C02842C1D030D29B6@nj0117exch002u.wh.lucent.com>
On Tue, 2004-08-10 at 09:43, Flynn, Lori Arline (Lori) wrote:
> So if there are two versions of 'int A' by the SSA step, A_1 and A_2:
> I could find out A_1 is at 0x63e4 and A_2 is 0x6350.
>
Ah, OK. No, that is not possible. SSA names do not (necessarily)
correspond to real variables in the generated code. All the different
names for variable 'A' tend to be collapsed to the same object in the
generated code.
Once the SSA transformations are finished, the program is rewritten back
into normal form. Only in cases where two SSA names for the same
variable have overlapping live ranges, will the compiler generate other
variables for each name. Otherwise, all the names for a symbol 'X' are
collapsed back to 'X'.
When two names for symbol 'X' do overlap, the out of SSA pass will
create symbols for each name that have 'X' as its base name and a
version number. But, I don't think we export these symbols into the
debug information.
Diego.