This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: fold_convert question
- From: Jeffrey A Law <law at redhat dot com>
- To: Roger Sayle <roger at eyesopen dot com>
- Cc: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>, gcc at gcc dot gnu dot org
- Date: Mon, 18 Oct 2004 14:31:21 -0600
- Subject: Re: fold_convert question
- Organization: Red Hat, Inc
- References: <Pine.LNX.4.44.0410151824310.17036-100000@www.eyesopen.com>
- Reply-to: law at redhat dot com
On Fri, 2004-10-15 at 19:27, Roger Sayle wrote:
> <rant apologies="in advance">
> tree_ssa_useless_type_conversion is an unfortunate hack to work around
> the fact that tree-ssa doesn't yet have a combiner pass.
You can certainly look at it that way. I wouldn't lose a lot of
sleep if we found a way to make the useless type conversion stuff
go away, either by having a combiner pass, defining a type system
that doesn't get in the way of the optimizers, or some yet unknown
optimization techniques.
The primary purpose in identifying useless type conversions is to
identify that two SSA_NAMEs have equivalent values and types which
are "close enough" that we can use them interchangably. ie,
constant/copy propagation.
When I look at the base SSA optimizers we have in place the most
glaring omission is clearly a tree combiner. In fact, we have
multiple special purpose tree combiners in-place and even more
submitted and yet more lying around as proof of concept code, but
no general solution for tree combination.
Solving the tree combination problem in a general way that allows
us to remove the useless type conversion, forward propagation,
expression reassociation and related problems should be high on
our todo list once we change focus from 4.0 to 4.1.
jeff