We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
For this code LLVM generates code that doesn't use tailcall optimization.
struct token { char const* tok_start; char const* tok_end; int tok_type; unsigned identifier_hash; };
token f();
token g() { return f(); }
Generated code:
g(): # @g() pushq %rbx movq %rdi, %rbx callq f() movq %rbx, %rax popq %rbx retq
Expected code:
g(): # @g() jmpq f()
The text was updated successfully, but these errors were encountered:
*** This bug has been marked as a duplicate of bug #8605 ***
Sorry, something went wrong.
mentioned in issue #8605
No branches or pull requests
Extended Description
For this code LLVM generates code that doesn't use tailcall optimization.
struct token
{
char const* tok_start;
char const* tok_end;
int tok_type;
unsigned identifier_hash;
};
token f();
token g()
{
return f();
}
Generated code:
g(): # @g()
pushq %rbx
movq %rdi, %rbx
callq f()
movq %rbx, %rax
popq %rbx
retq
Expected code:
g(): # @g()
jmpq f()
The text was updated successfully, but these errors were encountered: