https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42958

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|rguenth at gcc dot gnu.org         |unassigned at gcc dot 
gnu.org
             Status|ASSIGNED                    |NEW

--- Comment #27 from Richard Biener <rguenth at gcc dot gnu.org> ---
Not working on this.  The testcase, when not using stack arrays (aka -Ofast)
still has malloc/free in the loop nest:

                    D.4952 = D.4944 < 0;
                    D.4953 = D.4944 + 1;
                    atmp.5.span = 8;
                    D.4954 = (void * restrict) __builtin_malloc (D.4952 ? 1 :
MAX_EXPR <(unsigned long) (D.4953 * 8), 1>);
                    D.4955 = D.4954;
                    atmp.5.data = D.4955;
...
                      S.6 = 0;
                      while (1)
                        {
                          if (S.6 > D.4944) goto L.6;
                          (*(real(kind=8)[0:] * restrict) atmp.5.data)[S.6] =
*((real(kind=8) *) D.4930 + (sizetype) (((S.6 + D.4956) * D.4960 + D.4931) *
izz.span)) * *((real(kind=8) *) D.4934 + (sizetype) (((S.6 + D.4957) * D.4961 +
D.4962) * iy.span));
                          S.6 = S.6 + 1;
                        }
                      L.6:;
                      S.6 = 0;
                      while (1)
                        {
                          if (S.6 > D.4944) goto L.7;
                          *((real(kind=8) *) D.4938 + (sizetype) (((S.6 +
D.4958) * D.4963 + D.4964) * iyz.span)) = (*(real(kind=8)[0:] * restrict)
atmp.5.data)[S.6];
                          S.6 = S.6 + 1;
                        }
                      L.7:;
                    }
                    __builtin_free ((void *) atmp.5.data);

Reply via email to