This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-profiling-branch PATCH IPCP extensions + Function cloning
- From: Jan Hubicka <jh at suse dot cz>
- To: Steven Bosscher <stevenb at suse dot de>
- Cc: Razya Ladelsky <RAZYA at il dot ibm dot com>, Ayal Zaks <ZAKS at il dot ibm dot com>,gcc-patches at gcc dot gnu dot org, hubicka at ucw dot cz, Jan Hubicka <jh at suse dot cz>,Mircea Namolaru <NAMOLARU at il dot ibm dot com>
- Date: Wed, 12 Jan 2005 11:24:27 +0100
- Subject: Re: [tree-profiling-branch PATCH IPCP extensions + Function cloning
- References: <OF85F0DF11.10898682-ONC2256F87.0027A2DD-C2256F87.002871DF@il.ibm.com> <200501121014.47746.stevenb@suse.de>
> On Wednesday 12 January 2005 08:31, Razya Ladelsky wrote:
> > > functions. If create_bb doesn't give you a block annotation, that is a
> > > bug. Don't paper it over, fix it.
> > >
> > > Gr.
> > > Steven
> >
> > When creating the ENTRY BLOCK in copy_cfg_body(), create_bb() was not
> > used.
>
> That is a bug, then, because build_tree_cfg() does give block annotations
> to the entry and exit blocks.
Actually I think the code is improperly factored here. The function to
allocate cfg datastructure should IMO care creating the entry/exits and
other mandatory stuff instead of allocating it by hand at random places.
It used to be this way before the cfg inliner merge patch, so we ought
to restore this back. At least I see no valid reason for this change.
Honza
>
> > In result, no block annotations were created, which caused failures.
> > create_block_annotation() is defined to be static in tree-cfg.c, so I
> > can't use it in tree-inline.c.
>
> No, indeed you can't. So, export it, do not duplicate it.
>
> Gr.
> Steven