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; }