This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Kills by VDEFs in mark_def_sites
- From: law at redhat dot com
- To: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 30 Apr 2004 15:31:33 -0600
- Subject: Re: [tree-ssa] Kills by VDEFs in mark_def_sites
- Reply-to: law at redhat dot com
In message <20040414213604.GA32480@atrey.karlin.mff.cuni.cz>, Zdenek Dvorak wri
tes:
>Hello,
>
>a comment in tree-into-ssa.c:mark_def_sites states that
>
>/* Note that virtual definitions are irrelevant for computing KILLS
> because a VDEF does not constitute a killing definition of the
> variable. */
>
>and indeed, we do not set a bit in "kills" bitmap for VDEFs.
>
>There are two things that make this part of code a bit weird:
>
>1) For operand of VDEF and for VUSE we test whether the bit is set
> in the "kills" bitmap; however this is clearly useless, as there
> is no way how there could be anything set in this bitmap for virtual
> operands.
>
>2) The comment above is moreorless useless as well. Even if we set the
> bit in the "kills" bitmap, everything would work exactly the same
> way, since VDEF has an operand that is processed before the VDEF's
> result, so the basic block processed would be marked in the livein
> bitmap as well.
>
>Are these observations correct, or am I missing something?
I believe your observations are correct. I believe this code only made
sense in the world where we still mixed real and virtual operands in
strange and not so wonderful ways.
I'll give things a spin with the kills bitmap gunk removed for virtuals.
jeff