Thanks to Jan for doing most of this merge. This brings the new inliner heuristics and clone framework into the branch. Jan still has some fallout to fix, so I've disabled gcc.dg/ipa/ipa.exp for now.
I also need to fix a few tests in libstdc++, which are better fixed with the new streamer code. Diego.