caller-over-budgetThe calling function is over its budget and this site is cold
Reported by --explain after a verdict.
mettle explain caller-over-budget
The caller has grown past the point where more inlining pays, and this particular call site is neither inside a loop nor measured hot. It runs at most once per call of the caller, so leaving it a real call costs nothing you can measure.
Sites exempt from this rule, and so still inlined: calls inside loops, sites measured hot under --pgo, tiny call-free callees, and callees marked @inline.
There is deliberately no fix advice. For a cold one-shot site, not inlining is the right answer.
Related
- callee-no-bodyThe callee has no body to inline
- callee-noinlineThe callee is marked @noinline
- callee-denylistedThe callee is on the compiler's inline denylist
- too-many-parametersThe callee takes more than 16 parameters
- callee-parameter-namesThe callee's parameter names are unavailable
- callee-over-budgetThe callee's body is over the inline size budget
- callee-call-countThe callee makes more calls than the inline call-count budget allows
- callee-inline-asmThe callee contains inline assembly