> > Any comment on the following? > > > > http://blog.regehr.org/archives/320 > > > > 1) is due to lack of non-linear induction variable support
Yep. We might however also teach unroller to fully unroll the loop if we improve constant_after_peeling. This is probably good idea too, since we do have different kinds of loop carried vars that not always simplify. > > 5) is the same problem mentioned in pr35363 > > > > I have not looked at the details of others -- there are probably > > related missed-optimization bugs already filed. > > 7) is probably best handled by extending switch conversion pass to discover > switches > written as sequences of ifs and then convert two way switches into bitmask > operation. > This was requested by kernel folks for a while. I filled this in as enhancement PR46935. Honza