
On Mon, Dec 10, 2012 at 2:24 PM, Greg Fitzgerald
Should one group be stealing ideas from the other? Or apples and oranges?
In my opinion we should only implement optimizations in Hoopl that LLVM cannot do due to lack high-level information that we might have gotten rid of before we reach the LLVM code generator*. I don't think we should spend time re-implementing LLVM passes in Hoopl. We have limited time on our hands (much less than the LLVM team) and we're unlikely to do a better job than them here, as we're talking about implementing standard, imperative code optimization. I think our time is better spent on 1) making sure we pass enough information to LLVM for it to do a good job and 2) working on higher-level optimizations (e.g. Core-to-Core). * This also means that I think we should try to preserve any information LLVM might need all the way down to the code generator. -- Johan