-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
WIP: Backports for 1.4-RC1 #34238
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
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_typeIntindices fails (or creates an OffsetArray) #32442, broadcasting over non-offset arrays with mismatched axis eltypeslocalto testset vars that should be local #34282 - addlocalto testset vars that should be localmethodswith empty tuple of types #34291 - fix Regression usingmethodswith empty tuple for types #34286, regression inmethodswith empty tuple of typessignedandunsignedfunctions unchecked (as documented) #34287 - make fallbacksignedandunsignedfunctions unchecked (as documented)divremandfldmod#34284 - add a compatibility fallback fordivremandfldmodpathsep()and old sig ofprint_matrix_vdotsfor backwards compat #34314 - restorepathsep()and old sig ofprint_matrix_vdotsfor backwards compatGlobalRefin getfield elim pass #34322 - handleGlobalRefin getfield elim passhypotfallback for 2 Numbers of the same type #34316 - addhypotfallback for 2 Numbers of the same type@nanosoldier
runbenchmarks(ALL, vs = ":release-1.3")