It turns out that we don't even try to reassociate add chains into trees in MachineCombiner. Unless we've happened to convert them to ORs or have vectorized them that is. I can't find any principled reason for this omission. Is there something I'm missing?
(Tests needs cleaned up. This is just an auto-gen run to give a flavour of some of the changes which result. There's also a huge number of spurious changes which need removed due to tests not originally being auto-gened at all. I'll iterate on that if the direction is judged reasonable.)