-
-
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
WIP: Backports for 1.4-RC1 #34238
WIP: Backports for 1.4-RC1 #34238
Conversation
(cherry picked from commit d723cee)
I had the wrong merge target branch (master intstead of release-1.4) when starting nanosoldiers but I don't think anything has really been merged so should be ok. |
@nanosoldier |
Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. cc @ararslan |
Your test job has completed - possible new issues were detected. A full report can be found here. cc @maleadt |
Some failures from JuliaLang/Pkg.jl#1548 not being included here. |
AIBECS: BSON |
BitIntegers: #33459. we removed a fallback |
I started a bit (from the bottom) here: https://docs.google.com/spreadsheets/d/1ngalhKl9FEplWCWAWOfVKamZj-pkt4157pFGimb5wCw/edit?usp=sharing |
DecisionTree was a known bug in that package (since fixed) Hyperspecialize is probably an instance of #34252 (prior to this release, |
Do you happen to know what that change was? |
(cherry picked from commit 8b57f64)
* Update svd.jl * Update svd.jl Make doc more useful to the reader. * Fix grammar and one trailing whitespace * Update svd.jl * Fix doctests * Avoid duplicating documentation between mutating and non-mutating versions of svd functions. * Reorganize generalized svd docstring and doctests * Break some long lines Co-authored-by: Viral B. Shah <viral@juliacomputing.com> Co-authored-by: Andreas Noack <andreas@noack.dk> (cherry picked from commit cec4c32)
(cherry picked from commit 8dc0d93)
(cherry picked from commit b0ed147)
This is #34134. It is fixed on HalfIntegers master, but I wanted to wait for a decision on #34129 before releasing a new HalfIntegers version that contains the fix. |
Whitespace error fixed in #34299 |
(cherry picked from commit a3eb274)
Regarding cbrt getting 11x slower (and cos, sin etc) I think this is just benchmark noise. On 1.3:
and master
Doing the "Ref trick": 1.3:
and master
|
Allocation increase in
(makes 2 allocations on 1.3). Changing to |
7198d79
to
d7d50d0
Compare
Before releasing a new HalfIntegers version that is compatible with Julia 1.4 (and marking old versions as incompatible), I wanted to know whether #34129 could be included in 1.4 as well. I guess it’s too late for that now? While it is not a bugfix, I think it is an important change to the implementation in #33910 (which was merged shortly before the 1.4 branch happened). Without #34129, it is rather inconvenient to extend |
(cherry picked from commit 78d1352)
(cherry picked from commit f53e144)
There was a bug in initial value handling of `FlatteningRF` and the following example failed: @test mapfoldl( x -> (x, x), ((a, b), (c, d)) -> (min(a, c), max(b, d)), Iterators.flatten((1:2, 3:4)), ) == (1, 4) This is because `BottomRF(op.rf)` was called inside `FlatteningRF` where `op.rf` is already a "non-bottom" reducing function; here it's a `MappingRF`. As `BottomRF(rf)` forwards anything on the second argument on the first invocation as the first argument (accumulator) of the next calls, we need to make sure that this value is processed through `MappingRF` in the above example. However, if we do `BottomRF(op.rf)` where `op.rf` is a `MappingRF`, this `BottomRF` bypasses any processing that has to happen in `op.rf`. (cherry picked from commit 0ee3264)
This fixes #34247 by changing the way gc preserve is lowered. Instead of lowering it in a macro, lower it in the frontend. This allows us to use an SSA value directly for the return token of the gc begin expression. This bypasses the slot-renaming pass of the compiler, thus preventing the compiler from trying to save and restore the token. Of course, this kind of code would generally not be legal (because it uses an SSA value outside of the regular domination relation), but since this is a julia restriction, not an LLVM restriction, we can simply exempt gc_begin tokens from this particular validation. This works fine at the LLVM level also, because it doesn't have this particular restriction. It also doesn't have the same correctness problems as doing the same for non-token values, as the tokens get lowered away by the try/catch lowering before reaching the LLVM backend. (cherry picked from commit 07a16d6)
After much debugging, it turns out that OpenBlas is sometimes hanging on exit due to bad assumptions in its thread management. The upstream discussion is at OpenMathLib/OpenBLAS#2350, but this should fix our frequent win32 CI failures in the meantime.
3405e7d
to
0360daa
Compare
(cherry picked from commit 3549cd1)
(cherry picked from commit 85eb20f)
* Use UIUD to create random tempname on Windows * Use underscores and remove extension * Truncate to 10 chars the UUID * Generate the random name from a random byte array * Update file.jl (cherry picked from commit d759b5b)
In both places we call it. Also tabs-to-spaces for the new code to match the formatting of the rest of the code. (cherry picked from commit f120989)
(cherry picked from commit ed87ece)
@sostock, your changes should be in this branch now. |
Backported PRs:
is_derived_type
#34223 - fix Compiler throws internal stack overflow error when plotting with Makie on Julia master #33954, recursion through field types inis_derived_type
Int
indices fails (or creates an OffsetArray) #32442, broadcasting over non-offset arrays with mismatched axis eltypeslocal
to testset vars that should be local #34282 - addlocal
to testset vars that should be localmethods
with empty tuple of types #34291 - fix Regression usingmethods
with empty tuple for types #34286, regression inmethods
with empty tuple of typessigned
andunsigned
functions unchecked (as documented) #34287 - make fallbacksigned
andunsigned
functions unchecked (as documented)divrem
andfldmod
#34284 - add a compatibility fallback fordivrem
andfldmod
pathsep()
and old sig ofprint_matrix_vdots
for backwards compat #34314 - restorepathsep()
and old sig ofprint_matrix_vdots
for backwards compatGlobalRef
in getfield elim pass #34322 - handleGlobalRef
in getfield elim passhypot
fallback for 2 Numbers of the same type #34316 - addhypot
fallback for 2 Numbers of the same type@nanosoldier
runbenchmarks(ALL, vs = ":release-1.3")