http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44194

--- Comment #12 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-04-15 
09:10:07 UTC ---
Yes, something like that.  Though can_escape can be made simpler and more
precise by

bool
can_escape (tree expr)
{
  tree base;
  if (!expr)
    return true;
  base = get_base_address (expr);
  if (DECL_P (base)
      && (!may_be_aliased (base)
          || !pt_solution_includes (&cfun->gimple_df.escaped, base)))
    return true;
  return false;
}

Reply via email to