This adds a createFunctionInliningPass pass that takes an InlineParams object and use this to create the pre-inliner pass. This prevents the regular inliner's threshold flag from influencing the preinliner. We could make the callers of createFunctionInliningPass(Threshold) and createFunctionInliningPass(OptLevel, SizeOptLevel) use this instead, but I suppose we can't remove them because there may be other external users.
Details
Details
Diff Detail
Diff Detail
Event Timeline
lib/Transforms/IPO/PassManagerBuilder.cpp | ||
---|---|---|
264 | I think it is better to make these two as optional field in InlineParams. |
lib/Transforms/IPO/PassManagerBuilder.cpp | ||
---|---|---|
264 | Ok, it make sense. I'm sending a separate NFC patch soon. |
Comment Actions
FWIW, LGTM with the obvious simplification provided by the patch Easwaran has already sent out. Make sure David is happy with it as well, as I've not been following the PGO instrumentation pipeline stuff as closely. But I'm happy with the inliner parts of this.
I think it is better to make these two as optional field in InlineParams.