fix an optimizer bug in invoke with non-constant functions#26301
Merged
JeffBezanson merged 1 commit intomasterfrom Mar 5, 2018
Merged
fix an optimizer bug in invoke with non-constant functions#26301JeffBezanson merged 1 commit intomasterfrom
invoke with non-constant functions#26301JeffBezanson merged 1 commit intomasterfrom
Conversation
In this case inlining was able to convert an `invoke` call to an `:invoke` Expr, but we had not inferred the target method instance, which led us to hit the fallback path in `jl_invoke`, which does not support this case yet.
ec871a5 to
6007b94
Compare
Member
Author
|
cc @jrevels |
Member
|
Awesome, thanks! This indeed fixes the MWE, but unfortunately doesn't seem to fix the real case; see JuliaLabs/Cassette.jl#33. I'll try and come up with another MWE at some point, but until then, there's example code in that PR to trigger the |
mbauman
added a commit
that referenced
this pull request
Mar 5, 2018
…luenonscalarindexedassignment * origin/master: (28 commits) fix an optimizer bug in `invoke` with non-constant functions (#26301) lower top-level statements in such a way that the front-end knows (#26304) Make sure Sockets page has h1 header (#26315) fix doctests, and make them less prone to errors (#26275) FIx intro to manual chapter on types (#26312) Add a missing "that" (#26313) fix docstring for code_llvm (#26266) Remove the examples/ folder (#26153) download cert.pem from deps-getall, fixes #24903 (#25344) Slight update to doc string for at-enum to refer to instances (#26208) performance tweak in reverse(::String) (#26300) remove references to `TCPSocket` in Base docstrings (#26298) Deprecate adding integers to CartesianIndex (#26284) Deprecate conj(::Any), add real(::Missing) and imag(::Missing) (#26288) fix #26267, regression in `names` with `imported=false` (#26293) fix #25857, `typeinfo` problem in showing arrays with abstract tuple types (#26289) Add adjoint(::Missing) method (#25502) Use lowered form in logging macro (#26291) deprecate bin, oct, dec, hex, and base in favor of `string` and keyword args (#25804) deprecate `spawn(cmd)` to `run(cmd, wait=false)` (#26130) ...
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In this case inlining was able to convert an
invokecall to an:invokeExpr, but we had not inferred the target method instance, which led us to hit the fallback path injl_invoke, which does not support this case yet.