This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: fold_convert question


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]