
David Spitzenberg
Hello everyone!
First of all, my apologies for letting you wait that long. Especially, I want to let you know that I really feel sorry for not following up your offer back in January, Simon.
Don't worry at all; life happens. Any effort your are able to contribute is appreciated.
I somewhat underestimated the amount of time I had to invest in university during the last semester. Unfortunately, I couldn't find the time to work out the demonstration I mentioned in my last mail back in December.
At the moment, I'm making up for this showcase. In doing so, I stumbled across another question concerning the cmm-pipeline:
Given a CmmGraph, is there a possibility to annotate information to a single node within this graph? I.e. I want to annotate to certain CmmCalls that they where introduced by 'proc point splitting'. I would like to slightly modifiy the generation of LLVM IR for such Calls later on.
My guess here would be to map the CmmGraph (which is simply a type synonym for `GenCmmGraph CmmNode` to something of type `GenCmmGraph AnnCmmNode` where AnnCmmNode carries a CmmNode along with whatever other information you'd like to preserve. This then poses the question of what you'd like to *do* with this graph, since you'll be unable to use much of the GHC's existing machinery. My (possibly mistaken) impression is that we don't have a terribly great story in GHC for working with arbitrarily annotated Cmm graphs. I'm afraid we have now scraped past the bounds of my knowledge, however; hopefully one of the Simons will be able to set you off in the right direction. Cheers, - Ben