------- Comment #11 from ebotcazou at gcc dot gnu dot org 2007-07-13 17:16
-------
> Nah, that's not quite right, since this is a legal value.
> Instead, where we init everything to VN_TOP, init everything with
> SSA_NAME_OCCURS_IN_ABNORMAL_PHI to itself instead of VN_TOP.
Note that we already deal with SSA_NAME_OCCURS_IN_ABNORMAL_PHI in visit_use,
but not for PHI nodes:
if (TREE_CODE (stmt) == PHI_NODE)
{
changed = visit_phi (stmt);
}
else if (TREE_CODE (stmt) != GIMPLE_MODIFY_STMT
|| (ann && ann->has_volatile_ops))
{
changed = defs_to_varying (stmt);
}
[...]
if (TREE_CODE (lhs) == SSA_NAME
&& SSA_NAME_OCCURS_IN_ABNORMAL_PHI (lhs))
changed = defs_to_varying (stmt);
What about doing the same for them?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32705