[Bug tree-optimization/54779] split FRAME variables back into pieces

ebotcazou at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Dec 9 14:21:00 GMT 2013


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.



More information about the Gcc-bugs mailing list