This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Pre_dec and Post_inc insns
- From: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- To: Alexandre Oliva <aoliva at redhat dot com>
- Cc: Natasha Wilson <nat_w at operamail dot com>, gcc at gcc dot gnu dot org
- Date: Tue, 1 Jul 2003 20:47:03 +0200
- Subject: Re: Pre_dec and Post_inc insns
- References: <orwuf22tyc.fsf@free.redhat.lsd.ic.unicamp.br>
Hello,
> > What are the potentials areas where they could create problems if
> > they are generated before the flow pass?
>
> I just found out, the hard way, that cse is one such area. It simply
> doesn't notice changes caused by autoinc modifiers, and it may also
> replace pseudos that are marked as equivalent to constants, and then
> reload barfs.
>
> Unfortunately, cse may also turn increments that flow could turn into
> autoinc addressing modes into computations of a base register plus a
> constant, which flow then can't handle.
there actually is some horrible condition in cse to prevent this, with
the effect that chains of additions sometimes are not csed. IMO the
right solution is to make autoinc creating pass smarter (long on my TODO
list, but unfortunately there are way too many other things above it).
Zdenek