On Thursday 18 January 2007 09:31, Jeffrey Law wrote: > I haven't followed this thread that closely, but it seems to me this > could be done in the propagation engine. > > Basically we keep track of the known zero, sign bit copies and known > nonzero bits for SSA names, then propagate them in the obvious ways. > Basically replicating a lot of what combine & cse do in this area, > but at the tree level. It's something I've always wanted to see > implemented, but never bothered to do...
I had this implemented at one point (2 years ago??) and I could not show any real benefit. There were almost no opportunities for this kind of optimization in GCC itself or in some benchmarks I looked at. There appear to be more bit operations in RTL, so perhaps it is a better idea to implement a known-bits propagation pass for RTL, with the new dataflow engine. Gr. Steven