This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/54779] split FRAME variables back into pieces
- From: "ebotcazou at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 09 Dec 2013 14:21:13 +0000
- Subject: [Bug tree-optimization/54779] split FRAME variables back into pieces
- Auto-submitted: auto-generated
- References: <bug-54779-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54779
--- Comment #5 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> Eric, to what extent would this patch suffice? It detects situations
> when an array is the only thing preventing a local scalar from being
> totally replaced disappearing and if it also complies with a number of
> conditions (most importantly, it must not be accessed as whole, only
> its elements), it creates a separate array and changes all array
> references to use that. While it most certainly isn't as powerful as
> your specialized patch, it also works on non-FRAMEs and is good enough
> to break them up in your testcase (and its slightly more complex
> variant included as the second testcase in the patch).
The last sentence seems to comprise the answer. The purpose of the patch is to
eliminate _all traces_ of the non-local frame when all the nested functions are
inlined, without any restrictions whatsoever. The idea is that this artificial
construct must die when everything is unnested.