This is the mail archive of the
mailing list for the GCC project.
Re: [tree-optimization/61607] Look through SSA_NAME_VALUE chains
- From: Jeff Law <law at redhat dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 17 Jul 2014 02:37:40 -0600
- Subject: Re: [tree-optimization/61607] Look through SSA_NAME_VALUE chains
- Authentication-results: sourceware.org; auth=none
- References: <53B10A08 dot 4000306 at redhat dot com> <CAFiYyc0RC-4w8s03hPuxB5ugHqaNcxyUOCMgE9iMjb=pr=7NKA at mail dot gmail dot com>
On 07/07/14 03:02, Richard Biener wrote:
They're certainly there and always have been. You can get chains in
cases where we derive implicit sets, for example as well as due to loops
in the CFG.
On Mon, Jun 30, 2014 at 8:56 AM, Jeff Law <firstname.lastname@example.org> wrote:
SSA_NAME_VALUE is, in effect, a chain of values. ie, it's possible for
SSA_NAME_VALUE of any given SSA_NAME to refer to another SSA_NAME.
Hmm, but it shouldn't .... as we walk in dominator order and should
always do set_ssa_name_value (name, ssa_name_value (value))
there shouldn't be any chains.
It's not really a lattice in the way you'd see in VRP. It's just an
equality relationship with an unwinding stack to allow us to restore
state from earlier points in the domwalk.
But maybe I'm missing sth about the lattice used by DOM here ...
(at least none of the callers in DOM care to valueize 'value' before
setting it as value for an SSA name).