-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Backports for julia 1.9.0-beta3 #48075
Merged
Merged
Conversation
This file contains 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
(cherry picked from commit 293ab47)
* Use the same timing reentrancy counter for both inference and codegen * Add some timing tests * Add macro-based timer test (cherry picked from commit 1fda4bb)
(cherry picked from commit 0f2665f)
(cherry picked from commit cc5bc87)
…#48064) This was add to OpenBLAS in OpenMathLib/OpenBLAS#3773 and was supposed to be used in #46844 but was likely typod (cherry picked from commit 75bc5ee)
This comment was marked as outdated.
This comment was marked as outdated.
KristofferC
changed the title
Backports for julia 1.9.0-beta2
Backports for julia 1.9.0-beta3
Jan 2, 2023
This comment was marked as outdated.
This comment was marked as outdated.
Your package evaluation job has completed - possible new issues were detected. A full report can be found here. |
(cherry picked from commit 5c3646b)
@nanosoldier |
Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. |
(cherry picked from commit 35d1840) Co-authored-by: Tim Besard <[email protected]>
(cherry picked from commit 321c5f5)
6 tasks
…6151 (#48186) Co-authored-by: Dilum Aluthge <[email protected]>
effects: taint `:consistent`-cy on `:inbounds` and `:boundscheck` exprs
(cherry picked from commit a9506f5)
As noted in #48047, we're currently attempting to infer extra methods during incremental image saving, which causes us to miss edges in the image. In particular, in the case of #48047, Cthulhu had the `compile=min` option set, which caused the code instance for `do_typeinf!` to not be infered. However, later it was nevertheless queued for precompilation, causing inference to occur at an inopportune time. This PR simply prevents code instances that don't explicitly have the `->precompile` flag set (e.g. the guard instance created for the interpreter) from being enqueued for precompilation. It is not clear that this is necessarily the correct behavior - we may in fact want to infer these method instances, just before we set up the serializer state, but for now this fixes #48047 for me. I also included an appropriate test and a warning message if we attempt to enter inference when this is not legal, so any revisit of what should be happening here can hopefully make use of those. (cherry picked from commit 80aeebe)
(cherry picked from commit dc2b4d9)
The whole module is under `@nospecialize`, so inference needs us to annotate the argtypes. (cherry picked from commit 0913cbc)
* set `v[j] = pivot` in partition rather than returning pivot to caller to make partition! type stable for non-concrete eltype (cherry picked from commit 54aa57c)
…lity to approximate equality (#48102) * Math tests: if fma is not available, relax some tests from exact equality to approximate equality * Apply suggestions from code review Co-authored-by: Mosè Giordano <[email protected]> * `has_fma` has no runtime support * Add `Rational{Int}` * Put the FMA support info in the testset context * Fix whitespace * Remove inaccurate testset name Co-authored-by: Mosè Giordano <[email protected]> (cherry picked from commit 6d14b0f)
(cherry picked from commit 0847a7f)
(cherry picked from commit 53a0a69)
Some code cleanup, and an early exit path that avoids trying to create a compilation signature from something that cannot be turned into one. Previously we might try a little too hard to make one, even if it meant we ignored that it was expected to be Varargs. Fix #48085 (cherry picked from commit 45c81b1)
…0acc (#48253) Co-authored-by: Dilum Aluthge <[email protected]>
Co-authored-by: Fredrik Ekre <[email protected]> (cherry picked from commit 793eaa3)
(cherry picked from commit 1a94dab)
…tive) (#48248) Co-authored-by: Ian Butterworth <[email protected]> (cherry picked from commit eb5f6d6)
(cherry picked from commit 9707594)
Keep the splat function and mention in the documentation that it's the recommended way of constructing a Base.Splat object. (cherry picked from commit 670190c)
Co-authored-by: Dilum Aluthge <[email protected]> (cherry picked from commit 4f34aa9)
and fix the behavior of the check-bounds flag. Co-authored-by: Kristoffer Carlsson <[email protected]> (cherry picked from commit 0c3b950)
* Use stringsteam to atomically write LLVM opt timings * Add boolean to ensure we don't _only_ write the after block * Use ios_printf Co-authored-by: Nathan Daly <[email protected]> (cherry picked from commit 8985403)
Avoid some stackoverflow during typeintersect. (cherry picked from commit a5ab48f)
(cherry picked from commit de73c26)
This works to fix #48243, by only tanting effects if an `@inbounds` statement is actually reached. Further, it refines the `noinbounds` effect to be IPO-cached and used to track whether a particular method read the inbounds state. A `:boundscheck` expression now does not immediately taint consistencty, but instead, taints `noinbounds` only. Then, if a method that has `:noinbounds` tainted is called within an `@inbounds` region, consistency is tainted. Similarly, a tainted `:noinbounds` disables constant propagation at `@inbounds` statements or if the method propagates inbounds. (cherry picked from commit d544e78)
* add TargetMachine check * Add initial float16 multiversioning stuff * make check more robust and remove x86 check * move check to inside the pass * C++ is hard * Comment out the ckeck because it won't work inside the pass * whitespace in the comment * Change the logic not to depend on a TM * Add preliminary support for x86 test * Cosmetic changes (cherry picked from commit d18fd47)
(cherry picked from commit 4562cfa)
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.
Backported PRs:
InitialOptimizations
more consistently in sorting #47946finish_show_ir
#48134rand(lo:hi)
for QuickerSort pivot selection #48241identify_package
andlocate_package
during package loading #48247@time_imports
: explain what is shown (it's not cumulative) #48248reachable_var
not falls into infinite recusion. #48135:consistent
-cy on:inbounds
and:boundscheck
exprs #48158Non-merged PRs with backport label:
--heap-size-hint
arg handling #48050