Open m-gupta opened 3 years ago
Further reduced:
char *l(int, int, int, long long);
char *m(int a, int b, int c, long long d) {
[[clang::musttail]] return l(a, b, c, d);
}
Godbolt link: https://godbolt.org/z/81jbn5oEr
Note that the error goes away with -O: https://godbolt.org/z/MrvoT7c4P
This seems like an issue with the ARM backend.
ARMTargetLowering::IsEligibleForTailCallOptimization
encodes numerous conditions which may prevent tail calls.
Extended Description
A new feture in clang [[msuttail]] is causing clang to cash on our internal builds.
Reduced test case:
Still repros on ToT.