-
Notifications
You must be signed in to change notification settings - Fork 15
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
Test for returning Option<u128> and similar types returned in three registers by LLVM #21
Comments
Is it necessary to use the Real Option type or is this a classic "all things shaped like Option"? If the latter, this can now be expressed as
(Literally just that, we procgen the functions from just a type definition now!) Although that will implicitly get a
If this is specific to the rust calling convention, we'll need to add that to CallingConventions and teach the rust backend how to support it (and the C backend to skip it). |
(Thinking out loud: strictly speaking we could actually say the repr of an non- |
Should be the latter. |
LLVM will split this into three return registers, while Cranelift currently uses two return registers + implicit return value pointer: rust-lang/rustc_codegen_cranelift#1449
The text was updated successfully, but these errors were encountered: