-
Notifications
You must be signed in to change notification settings - Fork 62
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
Illegal type analysis error with setindex!
+ ifelse
+ mixed float types
#809
Comments
Yeah for the immediate future at least, you should go fix the union in NNLib here (which would also be a generic performance benefit without AD even). |
I'm (on 0.11.2) also hitting
However
Is this related or should I try to reduce to a MWE? |
That is unrelated, a minimal example is helpful @toollu |
Closing as a ifelse on a union of different types is considered unsupported atm |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I found this when trying to diff through https://github.com/FluxML/NNlib.jl/blob/acf87f5316e7579ac1e7eb16a278f43a9ca435dc/src/softmax.jl#L115.
MWE:
Looking at the generated IR, it appears Julia is union splitting the result of the
ifelse
and only truncating if it turns out to be Float64. Which seems a little unnecessary since LLVM ends up promoting it to a double unconditionally anyhow. Strange codegen aside, this specific example should be relatively easy to fix on the NNlib side, but I suspect there are many more examples lurking out there.Error:
The text was updated successfully, but these errors were encountered: