There is no extension point for LTO passes, this patch provides two basic extension points. They don't apply to ThinLTO but it's a debatable question.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
(Patch is missing context)
Sorry I missed this when you sent it the first time.
I wonder if the LTO pass pipeline shouldn't honor the existing EP_EarlyAsPossible extension point?
I wonder if the LTO pass pipeline shouldn't honor the existing EP_EarlyAsPossible extension point?
EP_EarlyAsPossible is referenced by populateFunctionPassManager which seems to be called wathever the optimization level, but maybe you're proposing to have it applied twice, once for compilation unit level, and once for link level?
If that's the case, I find it confusing, and EP_LinkTimeOptimizationEarly would play that role.
Sorry I missed the previous updates.
llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h | ||
---|---|---|
122 ↗ | (On Diff #202377) | I think FullLTO should appear in the name to make it clear that it does not apply to thin |
This seems interesting, maybe you could add more docs/tutorial how to use it? :)
And possibly mention it in release news ?