recursiveThe call is directly recursive
Reported by --explain after a verdict.
mettle explain recursive
A function calling itself cannot be inlined without bound. Mettle expands bounded self-recursion automatically where it can prove the depth; this remark is what is left over.
Fix: rewrite as a loop where the recursion is hot and the depth is not provable. A loop also gives the vectorizer something to work with.
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