Skip to content
New issue

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

Tailcall optimization and register preservation produces miscompile #97758

Open
gerben-stavenga opened this issue Jul 4, 2024 · 2 comments · May be fixed by #112098
Open

Tailcall optimization and register preservation produces miscompile #97758

gerben-stavenga opened this issue Jul 4, 2024 · 2 comments · May be fixed by #112098

Comments

@gerben-stavenga
Copy link

Tailcall optimization moves call out of the push/pop scope to preserve registers

https://godbolt.org/z/1zdnK96z6

@llvmbot
Copy link
Collaborator

llvmbot commented Jul 5, 2024

@llvm/issue-subscribers-backend-x86

Author: None (gerben-stavenga)

Tailcall optimization moves call out of the push/pop scope to preserve registers

https://godbolt.org/z/1zdnK96z6

@gerben-stavenga
Copy link
Author

Btw. It's not only that it moves the call out of push/pop scope. It also doesn't set up the registers properly it misses the 3rd argument in rdx

antoniofrighetto added a commit to antoniofrighetto/llvm-project that referenced this issue Oct 12, 2024
A miscompilation issue has been addressed with improved checking.

Fixes: llvm#97758.
antoniofrighetto added a commit to antoniofrighetto/llvm-project that referenced this issue Oct 12, 2024
A miscompilation issue has been addressed with improved checking.

Fixes: llvm#97758.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants