This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] live analysis on local static functions
- From: Jan Hubicka <jh at suse dot cz>
- To: Jason Merrill <jason at redhat dot com>
- Cc: Jan Hubicka <jh at suse dot cz>, Jan Hubicka <hubicka at ucw dot cz>,law at redhat dot com, Andrew MacLeod <amacleod at redhat dot com>,gcc mailing list <gcc at gcc dot gnu dot org>,Diego Novillo <dnovillo at redhat dot com>,Richard Henderson <rth at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Date: Thu, 16 Oct 2003 00:35:11 +0200
- Subject: Re: [tree-ssa] live analysis on local static functions
- References: <20031014180700.GO6212@kam.mff.cuni.cz> <200310151806.h9FI6QME027848@speedy.slc.redhat.com> <20031015203202.GD7266@atrey.karlin.mff.cuni.cz> <20031015213419.GP6212@kam.mff.cuni.cz> <wvlhe2acfay.fsf@prospero.boston.redhat.com>
> On Wed, 15 Oct 2003 23:34:19 +0200, Jan Hubicka <jh@suse.cz> wrote:
>
> > /* Remap the variable. */
> > ! if ((*lang_hooks.tree_inlining.auto_var_in_fn_p) (old_var, fn))
> > ! new_var = remap_decl (old_var, id);
> > ! else
> > ! new_var = old_var;
>
> No, this is broken. We then proceed to clobber TREE_CHAIN (old_var), and
> things fall apart.
>
> If it's a problem that the inlined copy refers to the old variable, that's
> what should be fixed.
We can not do that either in case we want to keep the invariant that
single variable is referenced by single VAR_DECL in the function body.
Consider case where we inline function multiple times, so we would have
to insert this same copy into multiple lists anyway.
Honza
>
> Jason