Preserving ProfileInfo in Backend

Hi all,

after some work I finally am able to preserve the ProfileInfo in quite some passes. My first question is how to deal with this patch. I have touched quite some code, everywhere are scattered bits of "preserving code" and a quite some additions to the ProfileInfo-API.

I guess checking in the ProfileInfo part is not a problem, but how shall I proceed with all the code in the passes that preserves ProfileInfo?

Also I have converted the ProfileInfo to a template so that I can also store MachineFunction's and MachineBasicBlock's. That's quite a big patch that's only possible to check in at once, it touches only profiling code tough. How shall I check that in?

My Plan is to check in the API-Changes in ProfileInfo and make it ready for all the other little patches spread out in the code, then post this patches one by one on the mailing list for approval. Is this doable?