-
-
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
release-1.7: Backports for 1.7-RC1/1.7-beta3 #41382
Conversation
This adds a proof-of-concept demonstration of two new buildkite plugins: * `cryptic` adds secrets management to privileged pipelines. These pipelines cannot be freely modified; their integrity is verified against a signature maintained by committers with a secret key. This allows certain portions of the CI configuration (which are privileged and can decrypt encrypted files/environment variables) to remain public, but read-only to the general populace. * `sandbox` adds a generic sandboxing mechanism that allows CI steps to be run within user-provided rootfs images. We're using these here to provide compiler toolchains for the `llvm-passes` CI steps, and the plan is to eventually provide _all_ compiler toolchains through such rootfs images. (cherry picked from commit 61ae86d)
I want to use this in Cthulhu, which uses `IRCode` for optimized code instead of `CodeInfo`. (cherry picked from commit 083272b)
(cherry picked from commit 8739df2)
(cherry picked from commit dc2befc)
This was not an external method table, it is just a normal variable binding. This was causing the precompile files to be corrupted, since we use normal variables that look like this one at https://github.com/JuliaLang/julia/blob/dc2befcffc7412768097c2a2a6819724a4745aeb/base/compiler/utilities.jl#L139-L140 Fixes #41156 (cherry picked from commit e3197af)
(cherry picked from commit 153f908)
This includes libraries from GCC 11. (cherry picked from commit d68e570)
(cherry picked from commit 7553ca1)
(cherry picked from commit 1b20d2b)
…ecent redefinition. (cherry picked from commit 7366c39)
default rng is task-local not thread-local? (cherry picked from commit ba5fffc)
Can fix for the thread hang #41407 (comment) be added, that |
When there is a fix available it can surely be added here, indeed. |
Can we backport #41383 ? |
PhiNode isn't really supported in lowered IR, but it is convenient to be able to emit it, particularly for code that is designed to perform transformations both on typed and on lowered IR (such as Diffractor). Moreover, we do actually supported phinodes in untyped IR both in the interpreter and in the compiler. At the moment, inference assumes that PhiNodes get treated as embedded constants, which is just not what the actual implementation does. At the very least, it should just leave PhiNodes alone in case they accidentally end up in lowered IR (rather than causing crashes), but we might as well give them some basic support. (cherry picked from commit bb52621)
(cherry picked from commit 1e3ae23)
Equality for `QRCompactWY` did not ignore the subdiagonal entries of `T` leading to nondeterministic behavior. This is pulled out from #41228, since this change should be less controversial than the other changes there and this particular bug just came up in ChainRules again. (cherry picked from commit 74fab49)
(cherry picked from commit 5f18285)
This was discussed on Slack with @StefanKarpinski and @BioTurboNick and the general consensus was that stripping all spaces following a backslash-escaped newline would make more sense than the current behavior. Stripping the newline and spaces after a backslash now happens before detenting for triple-quoted srings, so in cases like ```julia """ a\ b c""" ``` the `b` doesn't affect detenting and the spaces before `a` and `c` are removed. (cherry picked from commit be08627)
(#41383) * inference: enable constant propagation for `invoke`d calls, fixes #41024 Especially useful for defining mixins with typed interface fields, e.g. ```julia abstract type AbstractInterface end # mixin, which expects common field `x::Int` function Base.getproperty(x::AbstractInterface, sym::Symbol) if sym === :x return getfield(x, sym)::Int # inferred field else return getfield(x, sym) # fallback end end abstract type AbstractInterfaceExtended <: AbstractInterface end # extended mixin, which expects additional common field `y::Rational{Int}` function Base.getproperty(x::AbstractInterfaceExtended, sym::Symbol) if sym === :y return getfield(x, sym)::Rational{Int} end return Base.@invoke getproperty(x::AbstractInterface, sym::Symbol) end ``` As a bonus, inliner is able to use `InferenceResult` as a fast inlining pass for constant-prop'ed `invoke`s * improve compile-time latency * Update base/compiler/abstractinterpretation.jl * Update base/compiler/abstractinterpretation.jl (cherry picked from commit bc6da93)
@nanosoldier |
Your package evaluation job has completed - possible new issues were detected. A full report can be found here. cc @maleadt |
Can #41320 please be backported, so that cxxwrap and other things linking against libjulia will work? See JuliaPackaging/Yggdrasil#3263 |
The pgcstack symbol is special because embedders are supposed to define it themselves in localexec tls, and then access it that way. However, there is another case of of libraries that link against julia, but are not embedders, but rather plugins to be loaded later (e.g. CxxWrap). These do need access to the pgcstack, but do not have a priori access to the localexec of the embedder. Thus, re-export the `jl_get_pgcstack` function that provides access to our internal getter for the pgcstack. (cherry picked from commit e469a1e)
(cherry picked from commit 47955e3)
…41412) When loading our `libblas` and `liblapack` for the first time, we may need to rely upon an `RPATH` that has been embedded within `libjulia-internal`. If we use `libblastrampoline` to perform the actual `dlopen()`, however, we don't have that `RPATH` at hand. To fix this, we instead `dlopen()` the library first, to force the proper loading of the library (which loads the library and its `SONAME` into our process), which allows `libblastrampoline`'s `dlopen()` to immediately succeed, along the happy path of finding the library already loaded. (cherry picked from commit 97a62dd)
(cherry picked from commit 286f024)
(cherry picked from commit 8016ca9)
(cherry picked from commit 5faad5f)
(cherry picked from commit 18f4142)
@nanosoldier |
Your package evaluation job has completed - possible new issues were detected. A full report can be found here. cc @maleadt |
* MPFR tests: mark the `log2(x) == log2(42)` test as broken on Windows * Apply suggestions from code review Co-authored-by: Simeon Schaub <simeondavidschaub99@gmail.com> Co-authored-by: Simeon Schaub <simeondavidschaub99@gmail.com> (cherry picked from commit fee5711)
(cherry picked from commit bd665cf)
(cherry picked from commit 261906c)
a207237
to
4bda75c
Compare
I think these are enough commits to warrant a beta3. |
Thanks for all your hard work Kristoffer! :) |
…ease-1.7 Backports for 1.7-beta3
…ease-1.7 Backports for 1.7-beta3
Backported PRs:
statement_costs!
accept IRCode #41257 - makestatement_costs!
accept IRCodefunction (::T{})
#41259 - fix parse error from type T{} in anonymous function #41253, parse error infunction (::T{})
v0.3.13+6
#41322 - [OpenBLAS_jll] Bump tov0.3.13+6
\r\n
#41333 - fix Julia v1.7.0, \ and newline on Windows #41330: backslash not escaping\r\n
threadcall
for new ccall lookup strategy #41345 - fixthreadcall
for new ccall lookup strategyTask
smaller by rearranging fields #41351 - makeTask
smaller by rearranging fieldsinvoke
d calls, fixes #41024 #41383 - inference: enable constant propagation forinvoke
d calls, fixes inference: enable constant propagation forinvoke
d calls #41024@async
#41334 - [Tasks] Mark parent as sticky if we use@async
yield
andyieldto
with finished tasks #41410 - fix Yielding to finished task results in fatal exception #41347, better checks foryield
andyieldto
with finished tasksedit(::Method)
. Fixes #41408 #41414 - Addededit(::Method)
. Fixes edit(::Method) doesn't work in 1.7-beta2 #41408MethodList
toInteger
#41419 - restrict getindex onMethodList
toInteger
dlopen()
ourlibblas
andliblapack
withinlibjulia-internal
#41412 -dlopen()
ourlibblas
andliblapack
withinlibjulia-internal
log2(x) == log2(42)
test #41473 - MPFR tests: skip thelog2(x) == log2(42)
testUSE_INTEL_MKL
from the build docs #41474 - Remove mentions ofUSE_INTEL_MKL
from the build docsNon-merged PRs with backport label:
UniformScaling
#41325 - News entries for exp(StridedMatrix) performance and five arg mulUniformScaling
hvncat
: Better handling of 0- and 1-length dims/shape args #41197 -hvncat
: Better handling of 0- and 1-length dims/shape argshvncat
: Stronger argument checks #41196 -hvncat
: Stronger argument checks