[LLVMdev] [Proposal] Parallelize post-IPO stage.
atrick at apple.com
Tue Jul 16 18:07:45 PDT 2013
On Jul 16, 2013, at 3:32 PM, Nick Lewycky <nlewycky at google.com> wrote:
> * Parallelize ModulePasses by splitting them into an analysis phase and an optimization phase. Make each per-TU build emit the .bc as usual plus an analysis-file (for instance, call graph, or "which functions reads/modify which globals"). Merge all the analysis-files and farm them back out to be used as input to the programs optimizing each .bc individually -- but now they have total knowledge of the whole-program call graph and other AA information, etc.
Shuxin presented the same idea to me. It offers the best opportunity to scale while sidestepping concurrency issues. It avoids problem of loading all functions during the IPO phase then cloning them into separate LLVMContexts later. I don’t see this as part of the first milestone though.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev