This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix matrix regression failures on AIX and HP-UX
- From: Razya Ladelsky <RAZYA at il dot ibm dot com>
- To: Diego Novillo <dnovillo at google dot com>
- Cc: Ayal Zaks <ZAKS at il dot ibm dot com>, David Edelsohn <edelsohn at us dot ibm dot com>, gcc-patches at gcc dot gnu dot org, sje at cup dot hp dot com
- Date: Sun, 29 Jul 2007 11:33:19 +0300
- Subject: Re: [PATCH] Fix matrix regression failures on AIX and HP-UX
Diego Novillo <dnovillo@google.com> wrote on 26/07/2007 17:22:47:
> On 7/26/07 9:07 AM, Razya Ladelsky wrote:
>
> > m_node = (struct matrix_info *) xcalloc (1, sizeof (struct
> matrix_info));
> > + memset (m_node, 0, sizeof (struct matrix_info));
>
> Not necessary. You are allocating with xcalloc.
>
O.k.
I wasn't sure about that. Thanks.
>
> > call in this indirection level; if so, mark it; if not, mark
> > as escaping. */
> > if (mi->malloc_for_level
> > ! && mi->max_malloced_level-1 == level
>
> I don't get this one. Why are we marking level as escaping if level+1
> is malloc'd?
>
the statement that is being analyzed here is a mallco statement of level
'level'.
If mi->max_malloced_level-1 == level, it means that we've seen a malloc
statement of level 'level' before.
If the statement is not the same one that we've seen before, then there's
another malloc statement for the same level, which means that we need to
mark it escaping.