https://gcc.gnu.org/bugzilla/show_bug.cgi?id=17217
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed|2005-01-25 03:37:17 |2021-09-03 Ever confirmed|0 |1 --- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So where is a better testcase (which is not depedent on how gimplifier works): int h(int *a); int f(int i, int j) { int t = i; int t1 = j; int g() { int t11 = t1; int t2 = h(&t); return t2 + t11; } int t3 = g(); return t3 + t1; } ---- CUT --- On the gimple level we get: _3 = __builtin_dwarf_cfa (0); FRAME.1.FRAME_BASE.PARENT = _3; FRAME.1.t = i_5(D); FRAME.1.t1 = j_7(D); t2_11 = h (&FRAME.1.t); _12 = j_7(D) + t2_11; _9 = FRAME.1.t1; _10 = _9 + _12; We should know that FRAME.1 is special in that h can only escape t field of FRAME.1 and not the other fields of FRAME.1 too.