This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Out of SSA status and issues
- From: Diego Novillo <dnovillo at redhat dot com>
- To: Andrew Macleod <amacleod at redhat dot com>
- Cc: gcc mailing list <gcc at gcc dot gnu dot org>
- Date: 13 May 2003 08:33:30 -0400
- Subject: Re: [tree-ssa] Out of SSA status and issues
- Organization: Red Hat Canada
- References: <1052750563.2730.317.camel@p4> <1052765152.3372.28.camel@p4>
On Mon, 2003-05-12 at 14:45, Andrew MacLeod wrote:
> ie it would look something like this hacked up example:
>
> # (*T.6)_13 = VDEF <(*T.6)_7>;
> T.6_12 = T.2_8 + T.5_11;
>
> # VUSE <T.6_12>;
> i_14 = (*T.6)_13
>
> # (*T.6)_22 = VDEF <(*T.6)_13>
> # VUSE <T.6_12>
> *T.6 = 30;
> };
> # i_1 = PHI <i_6(0), (*T.6)_13(1)>;
>
> Or is there a reason that copyprop would never happen?
>
Correctness wise? No, there's no reason. We can safely do the
propagation in this case.
But I wouldn't think it's efficient. Pointer dereferences are bound to
be slower than a straight scalar reference. The copy propagator in the
SSA renamer blocks propagation of INDIRECT_REF nodes. The stand-alone
copy propagator should probably do the same.
Diego.