This is the mail archive of the
mailing list for the GCC project.
Re: [tree-ssa] live analysis on local static functions
- From: Jan Hubicka <jh at suse dot cz>
- To: law at redhat dot com
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Richard Henderson <rth at redhat dot com>,Jan Hubicka <jh at suse dot cz>, Andrew MacLeod <amacleod at redhat dot com>,gcc mailing list <gcc at gcc dot gnu dot org>,Diego Novillo <dnovillo at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Date: Fri, 17 Oct 2003 23:20:58 +0200
- Subject: Re: [tree-ssa] live analysis on local static functions
- References: <20031017190337.GF15904@atrey.karlin.mff.cuni.cz> <200310171918.h9HJIAlW012661@speedy.slc.redhat.com>
> In message <20031017190337.GF15904@atrey.karlin.mff.cuni.cz>, Jan Hubicka write
> >> On Fri, Oct 17, 2003 at 06:57:47PM +0200, Jan Hubicka wrote:
> >> > Also can I ask about the status of your changes in tree-ssa? (it looks
> >> > like they are responsible for the new misscompilations I am seeing with
> >> > unit-at-a-time enabled. I will look into these in case you don't have
> >> > something ready already)
> >> It's looking generally good. I'm sure there are bugs, but they're
> >> not overwhelming.
> >I actually was referring to Jeff's changes from this week,
> Which specifically? I need specifics to be able to address any problems.
Except for the uninitialized variables, I am seeing misscopmilation of
read_rtx with unit-at-a-time enabled. This is really funny one.
read_rtx does call read_name that gets inlined as called one.
read_name takes as argument local array of read_rtx and it's address
gets load into pseudo and this pseudo gets REG_EQUIV note that is later
promoted to REG_EQUAL equivalent to ebp-200. For some reason reload
then uses ebp as temporary while trying to rematerialize that pseudo and
produces sub $ebp,$200 that of course lose with stack frame completelly
messed up. I will debug the reload failure.
What might be interesting task for you is to teach dominator optimizers
to replace array pointer by the array itself, this looks like your
favorie area :) (perhaps it used to be able to do so and I am seeing
the failure just because it no longer does, don't know)