[tree-optimization/61607] Look through SSA_NAME_VALUE chains

Jeff Law law@redhat.com
Fri Jul 18 05:06:00 GMT 2014


On 07/07/14 03:02, Richard Biener wrote:
> On Mon, Jun 30, 2014 at 8:56 AM, Jeff Law <law@redhat.com> 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.
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.


>
> 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).
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.



jeff



More information about the Gcc-patches mailing list