-
Notifications
You must be signed in to change notification settings - Fork 14
[LLVM 6.0] Unexpected request for libcall! #94
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
Comments
This commit disables i128 and u128 types in libcore. Currently there is a code generation bug causing much i128 code to cause LLVM assertion errors. The actual error message is here: ``` Unexpected request for libcall! UNREACHABLE executed at /home/dylan/projects/avr-rust/rust/src/llvm/lib/Target/AVR/AVRISelLowering.cpp:335! fish: Process 7219, “/home/dylan/projects/avr-rust/rust/build/x86_64-unknown-linux-gnu/stage2/bin/rustc” “~/projects/avr-rust/rust/build/…” terminated by signal SIGABRT (Abort) ``` See avr-rust/rust-legacy-fork#94 for details. avr-rust/rust-legacy-fork#94
The rtlib functions for 128-Bit integers are defined so we just use these even when 128-Bit support doesn't make a lot of sense for AVR. https://gist.github.com/brainlag/a14b2ba7ce52db1788712bfea2b699df |
I agree with this viewpoint. For example, |
Thanks for the patch @brainlag, looks good to me, I will upstream it! With regards to attribution, would you prefer me to use your GitHub handle or your real name (which I do not know) in the |
I added my real name to my git profile. |
Committed to LLVM upstream in r327814. We should be able to cherry-pick this commit into the LLVM 6.0 fork. |
So I should be able to fix this just by cherry-picking and possibly fixing merge conflicts? |
We've recently upgraded to LLVM 8 🎉 I'm going to close any bug that is reported against an older version of LLVM. If you are still having this issue with the LLVM-8 based code, please ping me and I can reopen the issue! |
Occurs whilst compiling
core
with LLVM 6.0.I can see it happening in this function
It also happens with the division code too.
From
gdb
It appears this is happening because the backend doesn't support
i128
bit division.The text was updated successfully, but these errors were encountered: