Skip to content
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 1.0.4 #30536

Closed
wants to merge 41 commits into from
Closed

Backports for 1.0.4 #30536

wants to merge 41 commits into from

Conversation

KristofferC
Copy link
Sponsor Member

@KristofferC KristofferC commented Dec 30, 2018

Backported PRs:

Need manual backport:

Contains multiple commits, manual intervention needed:

Non-merged PRs with backport label:

timholy and others added 17 commits December 30, 2018 12:54
#30074 used the wrong notion of consistency since `OneTo(1)` is
consistent (wrt broadcasting) with any range, but `OneTo` cannot
handle `Slice(-1:1)`.

(cherry picked from commit 1884cb4)
* fix #30303, escaping $ when showing Symbols

* use repr instead of escape_string

(cherry picked from commit f0b9499)
Closes #26458

(cherry picked from commit bd21aa7)
Fixes #30337... and while I was there I added a bit more information about what BitArrays do and when you might run into them.

(cherry picked from commit 0d62000)
…30163)

* order of mul in (l)mul!(::Diagonal,::Sparse)

add tests for non-commutative mul

* Create Quaternions.jl

remove quaternions from generic tests

(cherry picked from commit 3ee8798)
Previously, with a multi-versioned system image, there might be additional entries at the end of the clone list
that do not correspond to an actual method (such as jlplt thunks).

Also some code cleanup for clarity.

fix #28648

(cherry picked from commit e51a707)
The manual mentions at https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_WORKER_TIMEOUT-1 a function Base.worker_timeout() but the implementation has instead only a function Distributed.worker_timeout()

(cherry picked from commit 258e08a)
Use _setindex! to fix DimensionMismatch in sparse assignment
Fixes #28963

(cherry picked from commit b73a746)
(cherry picked from commit 6dc205a)
@KristofferC KristofferC added the status:DO NOT MERGE Do not merge this PR! label Dec 30, 2018
JeffBezanson and others added 2 commits December 30, 2018 13:03
This fixes a corner case where a bug is caused, counter-intuitively,
by an over-estimated intersection.
We have method signatures A and B, with A<B (A is a strict subtype).
We have a dispatch tuple X, where X<:B and !(X<:A).
However, intersection returns X for intersect(X,A). Since there
appears to be a match there and A<B, ml_matches skips the match with B.
The fix just requires dispatch tuples to be a subtype of a signature
in order to match at all.

(cherry picked from commit b167bc2)
* kill workers which don't launch properly

* don't emit spurious error messages

* document how to asynchronously launch workers

(cherry picked from commit 121e814)
@ViralBShah
Copy link
Member

I have a few backports not yet tagged. Can I still get them in?

@KristofferC
Copy link
Sponsor Member Author

Of course, there is no hurry with 1.0.4.

raghav9-97 and others added 2 commits December 31, 2018 01:12
* Fix #30006, range getindex accessing fields that might not exist
* Add tests for #30006

(cherry picked from commit 64133f6)
* Remove unused struct CapturedScalars

* Fix method ambiguities in SparseArrays

* Fix HigherOrderFns._copy(f)

(cherry picked from commit f10530e)
ViralBShah and others added 4 commits January 11, 2019 17:23
)

* General performance improvements for sparse matmul
Details for the polyalgorithm are in: #30372

(cherry picked from commit fae262c)
andreasnoack and others added 16 commits January 11, 2019 17:23
Use the same pattern as in collect_to_with_first! (which is used when size is known).

(cherry picked from commit 184fbc4)
The last attempts were pretty good, but still missed a lot.
But this is what you find when you actually try to test it.
This is not too important, but it can reduce compilation
performance in some case, so it is not ideal.

(cherry picked from commit 76e7421)
This corresponds to macOS 10.12 Sierra. XCode 8 covers El Capitan and
Sierra, so if Travis is giving us XCode 8.x for x < 3, we're on El Cap.
Homebrew supports only three versions of macOS at a time, which means
that El Cap (10.11) is no longer support. This is likely why our Mac
builds are trying to build GCC from source; a bottle might not be
available.

(cherry picked from commit 862fe08)
* implement circshift! for SparseMatrixCSC

* factor helper function shifter!, implement efficient circshift! for SparseVector

* add some @inbounds for improved performance

* remove allocations completely, giving a large improvement for small matrices

* some renaming to avoid polluting the module namespace

* remove useless reallocation and fix bug with different in/out types, better tests

* avoid action if iszero(r) and/or iszero(c), move sparse vector shifting helpers to sparsevector.jl

* Make shift amounts deterministic in tests, move sparse vector tests into sparsevector.jl

* comment fix

* for some reason, copy!(a::SparseVector, b::SparseVector) does not work

(cherry picked from commit 94993e9)
SROA was accidentally treating a pending node as old and thus
getting the wrong type when querying the predecessor. As a result
it thought one of the paths was unreachable causing undefined data
to be introduced on that path (generally the `1.0` that happened to
already be in register).

Fix #29983

(cherry picked from commit da0179c)
I don't have concrete tests for these, but it looks like
they all need the `is_old` predicate for what they're doing,
so switch those over also while we're at it.

(cherry picked from commit 34f7a4a)
Clarify that `firstindex(str)` should always be `1` for any `AbstractString`, as mentioned by @StefanKarpinski [here](#26133 (comment)).

Also reference `prevind` and `eachindex`.

Also introduce the "code unit" terminology and mention the `codeunit` functions.

(cherry picked from commit 3b6773d)
PR #28478 moved the computation of the use counts before the finish call.
to fix #28444. However, the early parts of the finish call fixes up phi
node arguments, which fail to get counted if we look at use counts before
that fixup is performed. This causes #30594 where the only non-trivial use
is on the backedge of the phi and would thus incorrectly fail to get accounted
for. Fix that by taking the use count after phi fixup but before dce.

(cherry picked from commit f8f2045)
broken by their move to cmake causing a switch away from the standard --host/--build autoconf

fix #28046

(cherry picked from commit 041c214)
@KristofferC
Copy link
Sponsor Member Author

We changed a bunch of backport labels in the last triage call so this is pretty stale. Better to restart from scratch.

@KristofferC KristofferC closed this Feb 4, 2019
@DilumAluthge DilumAluthge removed the status:DO NOT MERGE Do not merge this PR! label Jun 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.