For CGSCC inline, we need to scale down a function's branch weights and entry counts when thee it's inlined at a callsite. This is done through updateCallProfile. Additionally, we also scale the weigths for the inlined clone based on call site count in updateCallerBFI. Neither is needed for inlining during sample profile loader as it's using context profile that is separated from inlinee's own profile. This change skip the inlinee profile scaling for sample loader inlining.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
We have this change internally, and it shows a 0.2-0.3% geomean win on spec2017 with CSSPGO (from small wins on larger ones like xalancbmk). I think it should help baseline AutoFDO too.
Comment Actions
@wmi any concern with landing this change? I don't expect any issues, but just to be prudent do you want to experiment before this is landed?
Comment Actions
That is a nice catch! I will definitely experiment it and expect some improvement from it. Will have the data tomorrow and get back.