diff --git a/Make.inc b/Make.inc index 228cd99823c48..3fa153c7219c4 100644 --- a/Make.inc +++ b/Make.inc @@ -900,10 +900,6 @@ OPENBLAS_DYNAMIC_ARCH:=0 OPENBLAS_TARGET_ARCH:=ARMV8 USE_BLAS64:=1 BINARY:=64 -ifeq ($(OS),Darwin) -# Apple Chips are all at least A12Z -MCPU:=apple-a12 -endif endif # Set MARCH-specific flags diff --git a/NEWS.md b/NEWS.md index 3e9eece2260ea..63172f026cac5 100644 --- a/NEWS.md +++ b/NEWS.md @@ -11,8 +11,8 @@ New language features e.g. `[;;;]` creates a 0×0×0 `Array` ([#41618]). * `try`-blocks can now optionally have an `else`-block which is executed right after the main body only if no errors were thrown ([#42211]). -* `@inline` and `@noinline` annotations can now be placed within a function body ([#41312]). -* `@inline` and `@noinline` annotations can now be applied to a function call site or block +* `@inline` and `@noinline` can now be placed within a function body, allowing one to annotate anonymous function ([#41312]). +* `@inline` and `@noinline` can now be applied to a function at callsite or block to enforce the involved function calls to be (or not to be) inlined ([#41328]). * `∀`, `∃`, and `∄` are now allowed as identifier characters ([#42314]). * Support for Unicode 14.0.0 ([#43443]). @@ -43,7 +43,9 @@ Compiler/Runtime improvements `libjulia-codegen`. It is loaded by default, so normal usage should see no changes. In deployments that do not need the compiler (e.g. system images where all needed code is precompiled), this library (and its LLVM dependency) can simply be excluded ([#41936]). -* Conditional type constraints can now be forwarded interprocedurally (i.e. propagated from caller to callee) ([#42529]). +* Conditional type constraints are now be forwarded interprocedurally (i.e. propagated from caller to callee). + This allows inference to understand e.g. `Base.ifelse(isa(x, Int), x, 0)` returns `::Int`-value + even if the type of `x` is not known ([#42529]). * Julia-level SROA (Scalar Replacement of Aggregates) has been improved: allowing elimination of `getfield` calls with constant global fields ([#42355]), enabling elimination of mutable structs with uninitialized fields ([#43208]), improving performance ([#43232]), and handling more nested `getfield` @@ -53,7 +55,7 @@ Compiler/Runtime improvements * Inference now tracks various effects such as side-effectful-ness and nothrow-ness on a per-specialization basis. Code heavily dependent on constant propagation should see significant compile-time performance improvements and certain cases (e.g. calls to uninlinable functions that are nevertheless effect free) should see runtime performance - improvements. Effects may be overwritten manually with the `@Base.assume_effects` macro ([#43852]). + improvements. Effects may be overwritten manually with the `Base.@assume_effects` macro ([#43852]). * Precompilation (with explicit `precompile` directives or representative workloads) now saves more type-inferred code, resulting in reduced time-to-first task for packages that use precompilation. This change also eliminates the runtime performance degradation occasionally triggered by precompilation on older Julia versions. More specifically, @@ -108,6 +110,8 @@ New library features * TCP socket objects now expose `closewrite` functionality and support half-open mode usage ([#40783]). * `extrema` now accepts an `init` keyword argument ([#36265], [#43604]). * `Iterators.countfrom` now accepts any type that defines `+` ([#37747]). +* `@time` now separates out % time spent recompiling invalidated methods ([#45015]). +* `@time_imports` now shows any compilation and recompilation time percentages per import ([#45064]). Standard library changes ------------------------ diff --git a/base/abstractarray.jl b/base/abstractarray.jl index e7dda128fcadc..3922552668e24 100644 --- a/base/abstractarray.jl +++ b/base/abstractarray.jl @@ -2478,7 +2478,7 @@ function _typed_hvncat_shape(::Type{T}, shape::NTuple{N, Tuple}, row_first, as:: shapelength == lengthas || throw(ArgumentError("number of elements does not match shape; expected $(shapelength), got $lengthas)")) # discover dimensions nd = max(N, cat_ndims(as[1])) - outdims = zeros(Int, nd) + outdims = fill(-1, nd) currentdims = zeros(Int, nd) blockcounts = zeros(Int, nd) shapepos = ones(Int, nd) @@ -2503,7 +2503,7 @@ function _typed_hvncat_shape(::Type{T}, shape::NTuple{N, Tuple}, row_first, as:: isendblock = blockcounts[d] == shapev[d][shapepos[d]] if isendblock - if outdims[d] == 0 + if outdims[d] == -1 outdims[d] = currentdims[d] elseif outdims[d] != currentdims[d] throw(ArgumentError("argument $i has a mismatched number of elements along axis $ad; \ diff --git a/base/compiler/abstractinterpretation.jl b/base/compiler/abstractinterpretation.jl index 91063ee8d338c..ca68fca8f9be6 100644 --- a/base/compiler/abstractinterpretation.jl +++ b/base/compiler/abstractinterpretation.jl @@ -720,7 +720,7 @@ function concrete_eval_eligible(interp::AbstractInterpreter, isoverlayed(method_table(interp)) && !is_nonoverlayed(result.edge_effects) && return false return f !== nothing && result.edge !== nothing && - is_concrete_eval_eligible(result.edge_effects) && + is_foldable(result.edge_effects) && is_all_const_arg(arginfo) end diff --git a/base/compiler/ssair/inlining.jl b/base/compiler/ssair/inlining.jl index f5fb200c03c98..db2a6b1d33db3 100644 --- a/base/compiler/ssair/inlining.jl +++ b/base/compiler/ssair/inlining.jl @@ -1257,11 +1257,7 @@ function handle_const_call!( result = results[j] if isa(result, ConstResult) case = const_result_item(result, state) - if case === nothing - fully_covered = false - else - push!(cases, InliningCase(result.mi.specTypes, case)) - end + push!(cases, InliningCase(result.mi.specTypes, case)) elseif isa(result, InferenceResult) fully_covered &= handle_inf_result!(result, argtypes, flag, state, cases) else @@ -1314,7 +1310,9 @@ end function const_result_item(result::ConstResult, state::InliningState) if !isdefined(result, :result) || !is_inlineable_constant(result.result) - return compileable_specialization(state.et, result.mi, result.effects) + case = compileable_specialization(state.et, result.mi, result.effects) + @assert case !== nothing "concrete evaluation should never happen for uncompileable callsite" + return case end @assert result.effects === EFFECTS_TOTAL return ConstantCase(quoted(result.result)) diff --git a/base/compiler/tfuncs.jl b/base/compiler/tfuncs.jl index 23a18ae8d8aeb..c188d3e24e143 100644 --- a/base/compiler/tfuncs.jl +++ b/base/compiler/tfuncs.jl @@ -1515,6 +1515,10 @@ function tuple_tfunc(argtypes::Vector{Any}) params[i] = typeof(x.val) else x = isvarargtype(x) ? x : widenconst(x) + # since there don't exist any values whose runtime type are `Tuple{Type{...}}`, + # here we should turn such `Type{...}`-parameters to valid parameters, e.g. + # (::Type{Int},) -> Tuple{DataType} (or PartialStruct for more accuracy) + # (::Union{Type{Int32},Type{Int64}}) -> Tuple{Type} if isType(x) anyinfo = true xparam = x.parameters[1] @@ -1523,6 +1527,10 @@ function tuple_tfunc(argtypes::Vector{Any}) else params[i] = Type end + elseif iskindtype(x) + params[i] = x + elseif !isvarargtype(x) && hasintersect(x, Type) + params[i] = Union{x, Type} else params[i] = x end diff --git a/base/compiler/types.jl b/base/compiler/types.jl index 75c2da979179d..8893866822102 100644 --- a/base/compiler/types.jl +++ b/base/compiler/types.jl @@ -113,13 +113,13 @@ is_nothrow(effects::Effects) = effects.nothrow === ALWAYS_TRUE is_terminates(effects::Effects) = effects.terminates === ALWAYS_TRUE is_nonoverlayed(effects::Effects) = effects.nonoverlayed -is_concrete_eval_eligible(effects::Effects) = +is_foldable(effects::Effects) = is_consistent(effects) && is_effect_free(effects) && is_terminates(effects) is_total(effects::Effects) = - is_concrete_eval_eligible(effects) && + is_foldable(effects) && is_nothrow(effects) is_removable_if_unused(effects::Effects) = diff --git a/base/essentials.jl b/base/essentials.jl index 04df906628e36..365cdc3b82ba6 100644 --- a/base/essentials.jl +++ b/base/essentials.jl @@ -766,7 +766,7 @@ function invoke_in_world(world::UInt, @nospecialize(f), @nospecialize args...; k end # TODO: possibly make this an intrinsic -inferencebarrier(@nospecialize(x)) = Ref{Any}(x)[] +inferencebarrier(@nospecialize(x)) = RefValue{Any}(x).x """ isempty(collection) -> Bool diff --git a/base/expr.jl b/base/expr.jl index 9e603885a0037..0ddcf8049656a 100644 --- a/base/expr.jl +++ b/base/expr.jl @@ -381,6 +381,9 @@ end `@assume_effects` overrides the compiler's effect modeling for the given method. `ex` must be a method definition or `@ccall` expression. +!!! compat "Julia 1.8" + Using `Base.@assume_effects` requires Julia version 1.8. + ```jldoctest julia> Base.@assume_effects :terminates_locally function pow(x) # this :terminates_locally allows `pow` to be constant-folded @@ -402,7 +405,7 @@ julia> code_typed() do 1 ─ return 479001600 ) => Int64 -julia> Base.@assume_effects :total_may_throw @ccall jl_type_intersection(Vector{Int}::Any, Vector{<:Integer}::Any)::Any +julia> Base.@assume_effects :total !:nothrow @ccall jl_type_intersection(Vector{Int}::Any, Vector{<:Integer}::Any)::Any Vector{Int64} (alias for Array{Int64, 1}) ``` @@ -423,12 +426,15 @@ The following `setting`s are supported. - `:nothrow` - `:terminates_globally` - `:terminates_locally` +- `:foldable` - `:total` +# Extended help + --- -# `:consistent` +## `:consistent` -The `:consistent` setting asserts that for egal inputs: +The `:consistent` setting asserts that for egal (`===`) inputs: - The manner of termination (return value, exception, non-termination) will always be the same. - If the method returns, the results will always be egal. @@ -461,7 +467,7 @@ The `:consistent` setting asserts that for egal inputs: itself is not required to meet the egality requirement specified above. --- -# `:effect_free` +## `:effect_free` The `:effect_free` setting asserts that the method is free of externally semantically visible side effects. The following is an incomplete list of externally semantically @@ -491,7 +497,7 @@ were not executed. valid for all world ages and limit use of this assertion accordingly. --- -# `:nothrow` +## `:nothrow` The `:nothrow` settings asserts that this method does not terminate abnormally (i.e. will either always return a value or never return). @@ -505,7 +511,7 @@ The `:nothrow` settings asserts that this method does not terminate abnormally `MethodErrors` and similar exceptions count as abnormal termination. --- -# `:terminates_globally` +## `:terminates_globally` The `:terminates_globally` settings asserts that this method will eventually terminate (either normally or abnormally), i.e. does not loop indefinitely. @@ -520,7 +526,7 @@ The `:terminates_globally` settings asserts that this method will eventually ter on a method that *technically*, but not *practically*, terminates. --- -# `:terminates_locally` +## `:terminates_locally` The `:terminates_locally` setting is like `:terminates_globally`, except that it only applies to syntactic control flow *within* the annotated method. It is thus @@ -531,59 +537,79 @@ non-termination if the method calls some other method that does not terminate. `:terminates_globally` implies `:terminates_locally`. --- -# `:total` +## `:foldable` + +This setting is a convenient shortcut for the set of effects that the compiler +requires to be guaranteed to constant fold a call at compile time. It is +currently equivalent to the following `setting`s: -This `setting` combines the following other assertions: - `:consistent` - `:effect_free` -- `:nothrow` - `:terminates_globally` -and is a convenient shortcut. + +!!! note + This list in particular does not include `:nothrow`. The compiler will still + attempt constant propagation and note any thrown error at compile time. Note + however, that by the `:consistent`-cy requirements, any such annotated call + must consistently throw given the same argument values. --- -# `:total_may_throw` +## `:total` -This `setting` combines the following other assertions: +This `setting` is the maximum possible set of effects. It currently implies +the following other `setting`s: - `:consistent` - `:effect_free` +- `:nothrow` - `:terminates_globally` -and is a convenient shortcut. -!!! note - This setting is particularly useful since it allows the compiler to evaluate a call of - the applied method when all the call arguments are fully known to be constant, no matter - if the call results in an error or not. - - `@assume_effects :total_may_throw` is similar to [`@pure`](@ref) with the primary - distinction that the `:consistent`-cy requirement applies world-age wise rather - than globally as described above. However, in particular, a method annotated - `@pure` should always be `:total` or `:total_may_throw`. - Another advantage is that effects introduced by `@assume_effects` are propagated to - callers interprocedurally while a purity defined by `@pure` is not. +!!! warning + `:total` is a very strong assertion and will likely gain additional semantics + in future versions of Julia (e.g. if additional effects are added and included + in the definition of `:total`). As a result, it should be used with care. + Whenever possible, prefer to use the minimum possible set of specific effect + assertions required for a particular application. In cases where a large + number of effect overrides apply to a set of functions, a custom macro is + recommended over the use of `:total`. + +--- +## Negated effects + +Effect names may be prefixed by `!` to indicate that the effect should be removed +from an earlier meta effect. For example, `:total !:nothrow` indicates that while +the call is generally total, it may however throw. + +--- +## Comparison to `@pure` + +`@assume_effects :foldable` is similar to [`@pure`](@ref) with the primary +distinction that the `:consistent`-cy requirement applies world-age wise rather +than globally as described above. However, in particular, a method annotated +`@pure` should always be at least `:foldable`. +Another advantage is that effects introduced by `@assume_effects` are propagated to +callers interprocedurally while a purity defined by `@pure` is not. """ macro assume_effects(args...) (consistent, effect_free, nothrow, terminates_globally, terminates_locally) = (false, false, false, false, false, false) - for setting in args[1:end-1] - if isa(setting, QuoteNode) - setting = setting.value - end + for org_setting in args[1:end-1] + (setting, val) = compute_assumed_setting(org_setting) if setting === :consistent - consistent = true + consistent = val elseif setting === :effect_free - effect_free = true + effect_free = val elseif setting === :nothrow - nothrow = true + nothrow = val elseif setting === :terminates_globally - terminates_globally = true + terminates_globally = val elseif setting === :terminates_locally - terminates_locally = true + terminates_locally = val + elseif setting === :foldable + consistent = effect_free = terminates_globally = val elseif setting === :total - consistent = effect_free = nothrow = terminates_globally = true - elseif setting === :total_may_throw - consistent = effect_free = terminates_globally = true + consistent = effect_free = nothrow = terminates_globally = val else - throw(ArgumentError("@assume_effects $setting not supported")) + throw(ArgumentError("@assume_effects $org_setting not supported")) end end ex = args[end] @@ -598,6 +624,16 @@ macro assume_effects(args...) return esc(pushmeta!(ex, :purity, consistent, effect_free, nothrow, terminates_globally, terminates_locally)) end +function compute_assumed_setting(@nospecialize(setting), val::Bool=true) + if isexpr(setting, :call) && setting.args[1] === :(!) + return compute_assumed_setting(setting.args[2], !val) + elseif isa(setting, QuoteNode) + return compute_assumed_setting(setting.value, val) + else + return (setting, val) + end +end + """ @propagate_inbounds diff --git a/base/fastmath.jl b/base/fastmath.jl index c01a8a5b225f7..05a5ce0503e68 100644 --- a/base/fastmath.jl +++ b/base/fastmath.jl @@ -279,8 +279,8 @@ exp10_fast(x::Union{Float32,Float64}) = Base.Math.exp10_fast(x) # builtins -pow_fast(x::Float32, y::Integer) = ccall("llvm.powi.f32", llvmcall, Float32, (Float32, Int32), x, y) -pow_fast(x::Float64, y::Integer) = ccall("llvm.powi.f64", llvmcall, Float64, (Float64, Int32), x, y) +pow_fast(x::Float32, y::Integer) = ccall("llvm.powi.f32.i32", llvmcall, Float32, (Float32, Int32), x, y) +pow_fast(x::Float64, y::Integer) = ccall("llvm.powi.f64.i32", llvmcall, Float64, (Float64, Int32), x, y) pow_fast(x::FloatTypes, ::Val{p}) where {p} = pow_fast(x, p) # inlines already via llvm.powi @inline pow_fast(x, v::Val) = Base.literal_pow(^, x, v) diff --git a/base/loading.jl b/base/loading.jl index c1ddabda6c469..71e464f49eda5 100644 --- a/base/loading.jl +++ b/base/loading.jl @@ -167,7 +167,8 @@ function dummy_uuid(project_file::String) end project_path = try realpath(project_file) - catch + catch ex + ex isa IOError || rethrow() project_file end uuid = uuid5(ns_dummy_uuid, project_path) @@ -335,15 +336,15 @@ function locate_package(pkg::PkgId)::Union{Nothing,String} for env in load_path() # look for the toplevel pkg `pkg.name` in this entry found = project_deps_get(env, pkg.name) - found === nothing && continue - if pkg == found - # pkg.name is present in this directory or project file, - # return the path the entry point for the code, if it could be found - # otherwise, signal failure - return implicit_manifest_uuid_path(env, pkg) + if found !== nothing + @assert found.name == pkg.name + if found.uuid === nothing + # pkg.name is present in this directory or project file, + # return the path the entry point for the code, if it could be found + # otherwise, signal failure + return implicit_manifest_uuid_path(env, pkg) + end end - @assert found.uuid !== nothing - return locate_package(found) # restart search now that we know the uuid for pkg end else for env in load_path() @@ -411,6 +412,16 @@ const project_names = ("JuliaProject.toml", "Project.toml") const manifest_names = ("JuliaManifest.toml", "Manifest.toml") const preferences_names = ("JuliaLocalPreferences.toml", "LocalPreferences.toml") +function locate_project_file(env::String) + for proj in project_names + project_file = joinpath(env, proj) + if isfile_casesensitive(project_file) + return project_file + end + end + return true +end + # classify the LOAD_PATH entry to be one of: # - `false`: nonexistant / nothing to see here # - `true`: `env` is an implicit environment @@ -423,14 +434,7 @@ function env_project_file(env::String)::Union{Bool,String} project_file === nothing || return project_file end if isdir(env) - for proj in project_names - maybe_project_file = joinpath(env, proj) - if isfile_casesensitive(maybe_project_file) - project_file = maybe_project_file - break - end - end - project_file =true + project_file = locate_project_file(env) elseif basename(env) in project_names && isfile_casesensitive(env) project_file = env else @@ -783,10 +787,23 @@ function find_all_in_cache_path(pkg::PkgId) end end +# use an Int counter so that nested @time_imports calls all remain open +const TIMING_IMPORTS = Threads.Atomic{Int}(0) + # these return either the array of modules loaded from the path / content given # or an Exception that describes why it couldn't be loaded # and it reconnects the Base.Docs.META function _include_from_serialized(pkg::PkgId, path::String, depmods::Vector{Any}) + assert_havelock(require_lock) + timing_imports = TIMING_IMPORTS[] > 0 + try + if timing_imports + t_before = time_ns() + cumulative_compile_timing(true) + t_comp_before = cumulative_compile_time_ns() + end + + @debug "Loading cache file $path for $pkg" sv = ccall(:jl_restore_incremental, Any, (Cstring, Any), path, depmods) if isa(sv, Exception) return sv @@ -816,10 +833,36 @@ function _include_from_serialized(pkg::PkgId, path::String, depmods::Vector{Any} lock(require_lock) end end - return restored + + for M in restored + M = M::Module + if parentmodule(M) === M && PkgId(M) == pkg + if timing_imports + elapsed = round((time_ns() - t_before) / 1e6, digits = 1) + comp_time, recomp_time = cumulative_compile_time_ns() .- t_comp_before + print(lpad(elapsed, 9), " ms ") + print(pkg.name) + if comp_time > 0 + printstyled(" ", Ryu.writefixed(Float64(100 * comp_time / (elapsed * 1e6)), 2), "% compilation time", color = Base.info_color()) + end + if recomp_time > 0 + perc = Float64(100 * recomp_time / comp_time) + printstyled(" (", perc < 1 ? "<1" : Ryu.writefixed(perc, 0), "% recompilation)", color = Base.warn_color()) + end + println() + end + return M + end + end + return ErrorException("Required dependency $pkg failed to load from a cache file.") + + finally + timing_imports && cumulative_compile_timing(false) + end end function run_package_callbacks(modkey::PkgId) + assert_havelock(require_lock) unlock(require_lock) try for callback in package_callbacks @@ -835,35 +878,83 @@ function run_package_callbacks(modkey::PkgId) nothing end -function _tryrequire_from_serialized(modkey::PkgId, build_id::UInt64, modpath::Union{Nothing, String}, depth::Int = 0) +# loads a precompile cache file, after checking stale_cachefile tests +function _tryrequire_from_serialized(modkey::PkgId, build_id::UInt64) + assert_havelock(require_lock) + loaded = nothing if root_module_exists(modkey) - M = root_module(modkey) - if PkgId(M) == modkey && module_build_id(M) === build_id - return M + loaded = root_module(modkey) + else + loading = get(package_locks, modkey, false) + if loading !== false + # load already in progress for this module + loaded = wait(loading) + else + package_locks[modkey] = Threads.Condition(require_lock) + try + modpath = locate_package(modkey) + modpath === nothing && return nothing + set_pkgorigin_version_path(modkey, String(modpath)) + loaded = _require_search_from_serialized(modkey, String(modpath), build_id) + finally + loading = pop!(package_locks, modkey) + notify(loading, loaded, all=true) + end + if loaded isa Module + run_package_callbacks(modkey) + end end + end + if !(loaded isa Module) || PkgId(loaded) != modkey + return ErrorException("Required dependency $modkey failed to load from a cache file.") + end + return loaded +end + +# loads a precompile cache file, ignoring stale_cachefile tests +# assuming all depmods are already loaded and everything is valid +function _tryrequire_from_serialized(modkey::PkgId, path::String, sourcepath::String, depmods::Vector{Any}) + assert_havelock(require_lock) + loaded = nothing + if root_module_exists(modkey) + loaded = root_module(modkey) else - if modpath === nothing - modpath = locate_package(modkey) - modpath === nothing && return nothing - end - mod = _require_search_from_serialized(modkey, String(modpath), depth) - get!(PkgOrigin, pkgorigins, modkey).path = modpath - if !isa(mod, Bool) - run_package_callbacks(modkey) - for M in mod::Vector{Any} - M = M::Module - if PkgId(M) == modkey && module_build_id(M) === build_id - return M - end + loading = get(package_locks, modkey, false) + if loading !== false + # load already in progress for this module + loaded = wait(loading) + else + for i in 1:length(depmods) + dep = depmods[i] + dep isa Module && continue + _, depkey, depbuild_id = dep::Tuple{String, PkgId, UInt64} + @assert root_module_exists(depkey) + dep = root_module(depkey) + depmods[i] = dep + end + package_locks[modkey] = Threads.Condition(require_lock) + try + set_pkgorigin_version_path(modkey, sourcepath) + loaded = _include_from_serialized(modkey, path, depmods) + finally + loading = pop!(package_locks, modkey) + notify(loading, loaded, all=true) + end + if loaded isa Module + run_package_callbacks(modkey) end end end - return nothing + if !(loaded isa Module) || PkgId(loaded) != modkey + return ErrorException("Required dependency $modkey failed to load from a cache file.") + end + return loaded end -function _require_from_serialized(pkg::PkgId, path::String) - # loads a precompile cache file, ignoring stale_cachfile tests - # load all of the dependent modules first +# loads a precompile cache file, ignoring stale_cachefile tests +# load the best available (non-stale) version of all dependent modules first +function _tryrequire_from_serialized(pkg::PkgId, path::String) + assert_havelock(require_lock) local depmodnames io = open(path, "r") try @@ -877,64 +968,82 @@ function _require_from_serialized(pkg::PkgId, path::String) depmods = Vector{Any}(undef, ndeps) for i in 1:ndeps modkey, build_id = depmodnames[i] - dep = _tryrequire_from_serialized(modkey, build_id, nothing) - dep === nothing && return ErrorException("Required dependency $modkey failed to load from a cache file.") - depmods[i] = dep::Module + dep = _tryrequire_from_serialized(modkey, build_id) + if !isa(dep, Module) + return dep + end + depmods[i] = dep end # then load the file return _include_from_serialized(pkg, path, depmods) end -# use an Int counter so that nested @time_imports calls all remain open -const TIMING_IMPORTS = Threads.Atomic{Int}(0) - -# returns `true` if require found a precompile cache for this sourcepath, but couldn't load it -# returns `false` if the module isn't known to be precompilable +# returns `nothing` if require found a precompile cache for this sourcepath, but couldn't load it # returns the set of modules restored if the cache load succeeded -@constprop :none function _require_search_from_serialized(pkg::PkgId, sourcepath::String, depth::Int = 0) - t_before = time_ns() +@constprop :none function _require_search_from_serialized(pkg::PkgId, sourcepath::String, build_id::UInt64) + assert_havelock(require_lock) paths = find_all_in_cache_path(pkg) for path_to_try in paths::Vector{String} - staledeps = stale_cachefile(sourcepath, path_to_try) + staledeps = stale_cachefile(pkg, build_id, sourcepath, path_to_try) if staledeps === true continue end staledeps = staledeps::Vector{Any} + # finish checking staledeps module graph + for i in 1:length(staledeps) + dep = staledeps[i] + dep isa Module && continue + modpath, modkey, modbuild_id = dep::Tuple{String, PkgId, UInt64} + modpaths = find_all_in_cache_path(modkey) + modfound = false + for modpath_to_try in modpaths::Vector{String} + modstaledeps = stale_cachefile(modkey, modbuild_id, modpath, modpath_to_try) + if modstaledeps === true + continue + end + modstaledeps = modstaledeps::Vector{Any} + staledeps[i] = (modpath, modkey, modpath_to_try, modstaledeps) + modfound = true + break + end + if !modfound + @debug "Rejecting cache file $path_to_try because required dependency $modkey with build ID $modbuild_id is missing from the cache." + staledeps = true + break + end + end + if staledeps === true + continue + end try touch(path_to_try) # update timestamp of precompilation file - catch # file might be read-only and then we fail to update timestamp, which is fine + catch ex # file might be read-only and then we fail to update timestamp, which is fine + ex isa IOError || rethrow() end # finish loading module graph into staledeps for i in 1:length(staledeps) dep = staledeps[i] dep isa Module && continue - modpath, modkey, build_id = dep::Tuple{String, PkgId, UInt64} - dep = _tryrequire_from_serialized(modkey, build_id, modpath, depth + 1) - if dep === nothing - @debug "Required dependency $modkey failed to load from cache file for $modpath." + modpath, modkey, modpath_to_try, modstaledeps = dep::Tuple{String, PkgId, String, Vector{Any}} + dep = _tryrequire_from_serialized(modkey, modpath_to_try, modpath, modstaledeps) + if !isa(dep, Module) + @debug "Rejecting cache file $path_to_try because required dependency $modkey failed to load from cache file for $modpath." exception=dep staledeps = true break end - staledeps[i] = dep::Module + staledeps[i] = dep end if staledeps === true continue end restored = _include_from_serialized(pkg, path_to_try, staledeps) - if isa(restored, Exception) + if !isa(restored, Module) @debug "Deserialization checks failed while attempting to load cache from $path_to_try" exception=restored else - if TIMING_IMPORTS[] > 0 - elapsed = round((time_ns() - t_before) / 1e6, digits = 1) - tree_prefix = depth == 0 ? "" : " "^(depth-1)*"┌ " - print(lpad(elapsed, 9), " ms ") - printstyled(tree_prefix, color = :light_black) - println(pkg.name) - end return restored end end - return !isempty(paths) + return end # to synchronize multiple tasks trying to import/using something @@ -1076,31 +1185,33 @@ function require(into::Module, mod::Symbol) end mutable struct PkgOrigin - # version::VersionNumber path::Union{String,Nothing} cachepath::Union{String,Nothing} + version::Union{VersionNumber,Nothing} end -PkgOrigin() = PkgOrigin(nothing, nothing) +PkgOrigin() = PkgOrigin(nothing, nothing, nothing) const pkgorigins = Dict{PkgId,PkgOrigin}() require(uuidkey::PkgId) = @lock require_lock _require_prelocked(uuidkey) function _require_prelocked(uuidkey::PkgId) - just_loaded_pkg = false + assert_havelock(require_lock) if !root_module_exists(uuidkey) - _require(uuidkey) + newm = _require(uuidkey) + if newm === nothing + error("package `$(uuidkey.name)` did not define the expected \ + module `$(uuidkey.name)`, check for typos in package module name") + end # After successfully loading, notify downstream consumers run_package_callbacks(uuidkey) - just_loaded_pkg = true - end - if just_loaded_pkg && !root_module_exists(uuidkey) - error("package `$(uuidkey.name)` did not define the expected \ - module `$(uuidkey.name)`, check for typos in package module name") + else + newm = root_module(uuidkey) end - return root_module(uuidkey) + return newm end const loaded_modules = Dict{PkgId,Module}() +const loaded_modules_order = Vector{Module}() const module_keys = IdDict{Module,PkgId}() # the reverse is_root_module(m::Module) = @lock require_lock haskey(module_keys, m) @@ -1114,9 +1225,14 @@ root_module_key(m::Module) = @lock require_lock module_keys[m] if haskey(loaded_modules, key) oldm = loaded_modules[key] if oldm !== m - @warn "Replacing module `$(key.name)`" + if (0 != ccall(:jl_generating_output, Cint, ())) && (JLOptions().incremental != 0) + error("Replacing module `$(key.name)`") + else + @warn "Replacing module `$(key.name)`" + end end end + push!(loaded_modules_order, m) loaded_modules[key] = m module_keys[m] = key end @@ -1141,7 +1257,7 @@ root_module(where::Module, name::Symbol) = maybe_root_module(key::PkgId) = @lock require_lock get(loaded_modules, key, nothing) root_module_exists(key::PkgId) = @lock require_lock haskey(loaded_modules, key) -loaded_modules_array() = @lock require_lock collect(values(loaded_modules)) +loaded_modules_array() = @lock require_lock copy(loaded_modules_order) function unreference_module(key::PkgId) if haskey(loaded_modules, key) @@ -1151,35 +1267,54 @@ function unreference_module(key::PkgId) end end -# Returns `nothing` or the name of the newly-created cachefile +# whoever takes the package_locks[pkg] must call this function immediately +function set_pkgorigin_version_path(pkg::PkgId, path::Union{String,Nothing}) + assert_havelock(require_lock) + pkgorigin = get!(PkgOrigin, pkgorigins, pkg) + if path !== nothing + project_file = locate_project_file(joinpath(dirname(path), "..")) + if project_file isa String + d = parsed_toml(project_file) + v = get(d, "version", nothing) + if v !== nothing + pkgorigin.version = VersionNumber(v) + end + end + end + pkgorigin.path = path + nothing +end + +# Returns `nothing` or the new(ish) module function _require(pkg::PkgId) + assert_havelock(require_lock) # handle recursive calls to require loading = get(package_locks, pkg, false) if loading !== false # load already in progress for this module - wait(loading) - return + return wait(loading) end package_locks[pkg] = Threads.Condition(require_lock) last = toplevel_load[] + loaded = nothing try toplevel_load[] = false # perform the search operation to select the module file require intends to load path = locate_package(pkg) - get!(PkgOrigin, pkgorigins, pkg).path = path if path === nothing throw(ArgumentError(""" Package $pkg is required but does not seem to be installed: - Run `Pkg.instantiate()` to install all recorded dependencies. """)) end + set_pkgorigin_version_path(pkg, path) # attempt to load the module file via the precompile cache locations if JLOptions().use_compiled_modules != 0 - m = _require_search_from_serialized(pkg, path) - if !isa(m, Bool) - return + m = _require_search_from_serialized(pkg, path, UInt64(0)) + if m isa Module + return m end end @@ -1199,7 +1334,6 @@ function _require(pkg::PkgId) if JLOptions().use_compiled_modules != 0 if (0 == ccall(:jl_generating_output, Cint, ())) || (JLOptions().incremental != 0) # spawn off a new incremental pre-compile task for recursive `require` calls - # or if the require search declared it was pre-compiled before (and therefore is expected to still be pre-compilable) cachefile = compilecache(pkg, path) if isa(cachefile, Exception) if precompilableerror(cachefile) @@ -1210,11 +1344,11 @@ function _require(pkg::PkgId) end # fall-through to loading the file locally else - m = _require_from_serialized(pkg, cachefile) - if isa(m, Exception) + m = _tryrequire_from_serialized(pkg, cachefile) + if !isa(m, Module) @warn "The call to compilecache failed to create a usable precompiled cache file for $pkg" exception=m else - return + return m end end end @@ -1231,7 +1365,7 @@ function _require(pkg::PkgId) unlock(require_lock) try include(__toplevel__, path) - return + loaded = get(loaded_modules, pkg, nothing) finally lock(require_lock) if uuid !== old_uuid @@ -1241,11 +1375,24 @@ function _require(pkg::PkgId) finally toplevel_load[] = last loading = pop!(package_locks, pkg) - notify(loading, all=true) + notify(loading, loaded, all=true) end - nothing + return loaded end +function _require_from_serialized(uuidkey::PkgId, path::String) + @lock require_lock begin + set_pkgorigin_version_path(uuidkey, nothing) + newm = _tryrequire_from_serialized(uuidkey, path) + newm isa Module || throw(newm) + # After successfully loading, notify downstream consumers + run_package_callbacks(uuidkey) + return newm + end +end + + + # relative-path load """ @@ -1495,7 +1642,7 @@ end const MAX_NUM_PRECOMPILE_FILES = Ref(10) function compilecache(pkg::PkgId, path::String, internal_stderr::IO = stderr, internal_stdout::IO = stdout, - ignore_loaded_modules::Bool = true) + keep_loaded_modules::Bool = true) @nospecialize internal_stderr internal_stdout # decide where to put the resulting cache file @@ -1503,10 +1650,10 @@ function compilecache(pkg::PkgId, path::String, internal_stderr::IO = stderr, in # build up the list of modules that we want the precompile process to preserve concrete_deps = copy(_concrete_dependencies) - if ignore_loaded_modules - for (key, mod) in loaded_modules + if keep_loaded_modules + for mod in loaded_modules_array() if !(mod === Main || mod === Core || mod === Base) - push!(concrete_deps, key => module_build_id(mod)) + push!(concrete_deps, PkgId(mod) => module_build_id(mod)) end end end @@ -1908,9 +2055,12 @@ get_compiletime_preferences(uuid::UUID) = collect(get(Vector{String}, COMPILETIM get_compiletime_preferences(m::Module) = get_compiletime_preferences(PkgId(m).uuid) get_compiletime_preferences(::Nothing) = String[] -# returns true if it "cachefile.ji" is stale relative to "modpath.jl" +# returns true if it "cachefile.ji" is stale relative to "modpath.jl" and build_id for modkey # otherwise returns the list of dependencies to also check @constprop :none function stale_cachefile(modpath::String, cachefile::String; ignore_loaded::Bool = false) + return stale_cachefile(PkgId(""), UInt64(0), modpath, cachefile; ignore_loaded) +end +@constprop :none function stale_cachefile(modkey::PkgId, build_id::UInt64, modpath::String, cachefile::String; ignore_loaded::Bool = false) io = open(cachefile, "r") try if !isvalid_cache_header(io) @@ -1918,7 +2068,19 @@ get_compiletime_preferences(::Nothing) = String[] return true # invalid cache file end modules, (includes, requires), required_modules, srctextpos, prefs, prefs_hash = parse_cache_header(io) - id = isempty(modules) ? nothing : first(modules).first + if isempty(modules) + return true # ignore empty file + end + id = first(modules) + if id.first != modkey && modkey != PkgId("") + @debug "Rejecting cache file $cachefile for $modkey since it is for $id instead" + return true + end + if build_id != UInt64(0) && id.second != build_id + @debug "Ignoring cache file $cachefile for $modkey since it is does not provide desired build_id" + return true + end + id = id.first modules = Dict{PkgId, UInt64}(modules) # Check if transitive dependencies can be fulfilled @@ -1941,7 +2103,6 @@ get_compiletime_preferences(::Nothing) = String[] else @label locate_branch path = locate_package(req_key) - get!(PkgOrigin, pkgorigins, req_key).path = path if path === nothing @debug "Rejecting cache file $cachefile because dependency $req_key not found." return true # Won't be able to fulfill dependency @@ -1961,7 +2122,7 @@ get_compiletime_preferences(::Nothing) = String[] skip_timecheck = true break end - @debug "Rejecting cache file $cachefile because it provides the wrong uuid (got $build_id) for $req_key (want $req_build_id)" + @debug "Rejecting cache file $cachefile because it provides the wrong build_id (got $build_id) for $req_key (want $req_build_id)" return true # cachefile doesn't provide the required version of the dependency end end @@ -1997,12 +2158,10 @@ get_compiletime_preferences(::Nothing) = String[] return true end - if isa(id, PkgId) - curr_prefs_hash = get_preferences_hash(id.uuid, prefs) - if prefs_hash != curr_prefs_hash - @debug "Rejecting cache file $cachefile because preferences hash does not match 0x$(string(prefs_hash, base=16)) != 0x$(string(curr_prefs_hash, base=16))" - return true - end + curr_prefs_hash = get_preferences_hash(id.uuid, prefs) + if prefs_hash != curr_prefs_hash + @debug "Rejecting cache file $cachefile because preferences hash does not match 0x$(string(prefs_hash, base=16)) != 0x$(string(curr_prefs_hash, base=16))" + return true end return depmods # fresh cachefile diff --git a/base/process.jl b/base/process.jl index 57c4e0ebd874a..016c495a76a8b 100644 --- a/base/process.jl +++ b/base/process.jl @@ -464,6 +464,9 @@ Run a command object, constructed with backticks (see the [Running External Prog section in the manual). Throws an error if anything goes wrong, including the process exiting with a non-zero status (when `wait` is true). +The `args...` allow you to pass through file descriptors to the command, and are ordered +like regular unix file descriptors (eg `stdin, stdout, stderr, FD(3), FD(4)...`). + If `wait` is false, the process runs asynchronously. You can later wait for it and check its exit status by calling `success` on the returned process object. diff --git a/base/promotion.jl b/base/promotion.jl index 845e16ca499d3..24d0835a8b94a 100644 --- a/base/promotion.jl +++ b/base/promotion.jl @@ -29,11 +29,15 @@ function typejoin(@nospecialize(a), @nospecialize(b)) return typejoin(typejoin(a.a, a.b), b) elseif isa(b, Union) return typejoin(a, typejoin(b.a, b.b)) - elseif a <: Tuple + end + # a and b are DataTypes + # We have to hide Constant info from inference, see #44390 + a, b = inferencebarrier(a)::DataType, inferencebarrier(b)::DataType + if a <: Tuple if !(b <: Tuple) return Any end - ap, bp = a.parameters::Core.SimpleVector, b.parameters::Core.SimpleVector + ap, bp = a.parameters, b.parameters lar = length(ap) lbr = length(bp) if lar == 0 @@ -77,7 +81,6 @@ function typejoin(@nospecialize(a), @nospecialize(b)) elseif b <: Tuple return Any end - a, b = a::DataType, b::DataType while b !== Any if a <: b.name.wrapper while a.name !== b.name @@ -207,16 +210,17 @@ function typejoin_union_tuple(T::DataType) end # Returns length, isfixed -function full_va_len(p) +function full_va_len(p::Core.SimpleVector) isempty(p) && return 0, true last = p[end] if isvarargtype(last) - if isdefined(last, :N) && isa(last.N, Int) - return length(p)::Int + last.N - 1, true + if isdefined(last, :N) + N = last.N + isa(N, Int) && return length(p) + N - 1, true end - return length(p)::Int, false + return length(p), false end - return length(p)::Int, true + return length(p), true end # reduce typejoin over A[i:end] diff --git a/base/timing.jl b/base/timing.jl index c7870ac491169..1579cd5673bc9 100644 --- a/base/timing.jl +++ b/base/timing.jl @@ -55,9 +55,21 @@ function gc_alloc_count(diff::GC_Diff) diff.malloc + diff.realloc + diff.poolalloc + diff.bigalloc end -# cumulative total time spent on compilation, in nanoseconds -cumulative_compile_time_ns_before() = ccall(:jl_cumulative_compile_time_ns_before, UInt64, ()) -cumulative_compile_time_ns_after() = ccall(:jl_cumulative_compile_time_ns_after, UInt64, ()) +# cumulative total time spent on compilation and recompilation, in nanoseconds +function cumulative_compile_time_ns() + comp = ccall(:jl_cumulative_compile_time_ns, UInt64, ()) + recomp = ccall(:jl_cumulative_recompile_time_ns, UInt64, ()) + return comp, recomp +end + +function cumulative_compile_timing(b::Bool) + if b + ccall(:jl_cumulative_compile_timing_enable, Cvoid, ()) + else + ccall(:jl_cumulative_compile_timing_disable, Cvoid, ()) + end + return +end # total time spend in garbage collection, in nanoseconds gc_time_ns() = ccall(:jl_gc_total_hrtime, UInt64, ()) @@ -114,7 +126,7 @@ function format_bytes(bytes) # also used by InteractiveUtils end end -function time_print(elapsedtime, bytes=0, gctime=0, allocs=0, compile_time=0, newline=false, _lpad=true) +function time_print(elapsedtime, bytes=0, gctime=0, allocs=0, compile_time=0, recompile_time=0, newline=false, _lpad=true) timestr = Ryu.writefixed(Float64(elapsedtime/1e9), 6) str = sprint() do io _lpad && print(io, length(timestr) < 10 ? (" "^(10 - length(timestr))) : "") @@ -142,15 +154,20 @@ function time_print(elapsedtime, bytes=0, gctime=0, allocs=0, compile_time=0, ne end print(io, Ryu.writefixed(Float64(100*compile_time/elapsedtime), 2), "% compilation time") end + if recompile_time > 0 + print(io, ": ", Ryu.writefixed(Float64(100*recompile_time/compile_time), 0), "% of which was recompilation") + end parens && print(io, ")") end newline ? println(str) : print(str) nothing end -function timev_print(elapsedtime, diff::GC_Diff, compile_time, _lpad) +function timev_print(elapsedtime, diff::GC_Diff, compile_times, _lpad) allocs = gc_alloc_count(diff) - time_print(elapsedtime, diff.allocd, diff.total_time, allocs, compile_time, true, _lpad) + compile_time = first(compile_times) + recompile_time = last(compile_times) + time_print(elapsedtime, diff.allocd, diff.total_time, allocs, compile_time, recompile_time, true, _lpad) padded_nonzero_print(elapsedtime, "elapsed time (ns)") padded_nonzero_print(diff.total_time, "gc time (ns)") padded_nonzero_print(diff.allocd, "bytes allocated") @@ -181,8 +198,8 @@ end A macro to execute an expression, printing the time it took to execute, the number of allocations, and the total number of bytes its execution caused to be allocated, before -returning the value of the expression. Any time spent garbage collecting (gc) or -compiling is shown as a percentage. +returning the value of the expression. Any time spent garbage collecting (gc), compiling +new code, or recompiling invalidated code is shown as a percentage. Optionally provide a description string to print before the time report. @@ -201,6 +218,9 @@ See also [`@showtime`](@ref), [`@timev`](@ref), [`@timed`](@ref), [`@elapsed`](@ !!! compat "Julia 1.8" The option to add a description was introduced in Julia 1.8. +!!! compat "Julia 1.9" + Recompilation time being shown separately from compilation time was introduced in Julia 1.9 + ```julia-repl julia> x = rand(10,10); @@ -238,16 +258,18 @@ macro time(msg, ex) Experimental.@force_compile local stats = gc_num() local elapsedtime = time_ns() - local compile_elapsedtime = cumulative_compile_time_ns_before() + cumulative_compile_timing(true) + local compile_elapsedtimes = cumulative_compile_time_ns() local val = @__tryfinally($(esc(ex)), (elapsedtime = time_ns() - elapsedtime; - compile_elapsedtime = cumulative_compile_time_ns_after() - compile_elapsedtime) + cumulative_compile_timing(false); + compile_elapsedtimes = cumulative_compile_time_ns() .- compile_elapsedtimes) ) local diff = GC_Diff(gc_num(), stats) local _msg = $(esc(msg)) local has_msg = !isnothing(_msg) has_msg && print(_msg, ": ") - time_print(elapsedtime, diff.allocd, diff.total_time, gc_alloc_count(diff), compile_elapsedtime, true, !has_msg) + time_print(elapsedtime, diff.allocd, diff.total_time, gc_alloc_count(diff), first(compile_elapsedtimes), last(compile_elapsedtimes), true, !has_msg) val end end @@ -320,16 +342,16 @@ macro timev(msg, ex) Experimental.@force_compile local stats = gc_num() local elapsedtime = time_ns() - local compile_elapsedtime = cumulative_compile_time_ns_before() + local compile_elapsedtimes = cumulative_compile_time_ns() local val = @__tryfinally($(esc(ex)), (elapsedtime = time_ns() - elapsedtime; - compile_elapsedtime = cumulative_compile_time_ns_after() - compile_elapsedtime) + compile_elapsedtimes = cumulative_compile_time_ns() .- compile_elapsedtimes) ) local diff = GC_Diff(gc_num(), stats) local _msg = $(esc(msg)) local has_msg = !isnothing(_msg) has_msg && print(_msg, ": ") - timev_print(elapsedtime, diff, compile_elapsedtime, !has_msg) + timev_print(elapsedtime, diff, compile_elapsedtimes, !has_msg) val end end diff --git a/deps/Versions.make b/deps/Versions.make index 7442543716ad4..0405de70e5bd8 100644 --- a/deps/Versions.make +++ b/deps/Versions.make @@ -15,7 +15,7 @@ CSL_JLL_NAME := CompilerSupportLibraries # Clang (paired with LLVM, only here as a JLL download) CLANG_JLL_NAME := Clang -CLANG_JLL_VER := 13.0.1+0 +CLANG_JLL_VER := 13.0.1+2 # DSFMT DSFMT_VER := 2.2.4 @@ -26,7 +26,7 @@ GMP_VER := 6.2.1 GMP_JLL_NAME := GMP # LibCURL -CURL_VER := 7.81.0 +CURL_VER := 7.83.1 CURL_JLL_NAME := LibCURL # LAPACK, source-only @@ -45,13 +45,13 @@ LIBUV_JLL_NAME := LibUV # LLVM LLVM_VER := 13.0.1 -LLVM_ASSERT_JLL_VER := 13.0.1+0 +LLVM_ASSERT_JLL_VER := 13.0.1+2 LLVM_JLL_NAME := libLLVM # LLVM_tools (downloads LLVM_jll to get things like `lit` and `opt`) LLVM_TOOLS_JLL_NAME := LLVM -LLVM_TOOLS_JLL_VER := 13.0.1+0 -LLVM_TOOLS_ASSERT_JLL_VER := 13.0.1+0 +LLVM_TOOLS_JLL_VER := 13.0.1+2 +LLVM_TOOLS_ASSERT_JLL_VER := 13.0.1+2 # LLVM libunwind LLVMUNWIND_VER := 12.0.1 @@ -75,7 +75,7 @@ OBJCONV_JLL_NAME := Objconv OBJCONV_JLL_VER := 2.49.1+0 # blastrampoline -BLASTRAMPOLINE_VER := 5.1.0 +BLASTRAMPOLINE_VER := 5.1.1 BLASTRAMPOLINE_JLL_NAME := libblastrampoline # OpenBLAS diff --git a/deps/blastrampoline.mk b/deps/blastrampoline.mk index a29b9b19e0eaa..bde21174a12a6 100644 --- a/deps/blastrampoline.mk +++ b/deps/blastrampoline.mk @@ -15,7 +15,7 @@ $(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/build-compiled: $(BUILDDIR)/$(BLASTRAMPOLI echo 1 > $@ define BLASTRAMPOLINE_INSTALL - $(MAKE) -C $(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/src $(MAKE_COMMON) install + $(MAKE) -C $(BUILDDIR)/$(BLASTRAMPOLINE_SRC_DIR)/src $(MAKE_COMMON) install DESTDIR="$2" endef $(eval $(call staged-install, \ blastrampoline,$(BLASTRAMPOLINE_SRC_DIR), \ diff --git a/deps/blastrampoline.version b/deps/blastrampoline.version index 23074f70854dc..b034fe1402f36 100644 --- a/deps/blastrampoline.version +++ b/deps/blastrampoline.version @@ -1,2 +1,2 @@ -BLASTRAMPOLINE_BRANCH=v5.0.1 -BLASTRAMPOLINE_SHA1=d32042273719672c6669f6442a0be5605d434b70 +BLASTRAMPOLINE_BRANCH=v5.1.1 +BLASTRAMPOLINE_SHA1=bac2f810d523003fbb431ecc6e9ea81c8b86e2d6 diff --git a/deps/checksums/Pkg-7c1544f092a006556ce46dfaf9a93cb408b705d3.tar.gz/md5 b/deps/checksums/Pkg-7c1544f092a006556ce46dfaf9a93cb408b705d3.tar.gz/md5 deleted file mode 100644 index 7b3aa9f19c01b..0000000000000 --- a/deps/checksums/Pkg-7c1544f092a006556ce46dfaf9a93cb408b705d3.tar.gz/md5 +++ /dev/null @@ -1 +0,0 @@ -59386028556257c324385840a93bb43d diff --git a/deps/checksums/Pkg-7c1544f092a006556ce46dfaf9a93cb408b705d3.tar.gz/sha512 b/deps/checksums/Pkg-7c1544f092a006556ce46dfaf9a93cb408b705d3.tar.gz/sha512 deleted file mode 100644 index fbe82d95808ae..0000000000000 --- a/deps/checksums/Pkg-7c1544f092a006556ce46dfaf9a93cb408b705d3.tar.gz/sha512 +++ /dev/null @@ -1 +0,0 @@ -2cd00db324fab2ffe245f9804fc3d1cb8bc733e892d40ec18c02fd69b4c165111e42aacf4654a1d610f933d9bc6868fe9a01e3241116f796ef73fa7d48fd499c diff --git a/deps/checksums/Pkg-f0bef8af0ab951d9cf3cceb3c709873737df9471.tar.gz/md5 b/deps/checksums/Pkg-f0bef8af0ab951d9cf3cceb3c709873737df9471.tar.gz/md5 new file mode 100644 index 0000000000000..86b193c4518a1 --- /dev/null +++ b/deps/checksums/Pkg-f0bef8af0ab951d9cf3cceb3c709873737df9471.tar.gz/md5 @@ -0,0 +1 @@ +e02bd98209effd4e05361f29e0a4abbc diff --git a/deps/checksums/Pkg-f0bef8af0ab951d9cf3cceb3c709873737df9471.tar.gz/sha512 b/deps/checksums/Pkg-f0bef8af0ab951d9cf3cceb3c709873737df9471.tar.gz/sha512 new file mode 100644 index 0000000000000..59d2f75ab089f --- /dev/null +++ b/deps/checksums/Pkg-f0bef8af0ab951d9cf3cceb3c709873737df9471.tar.gz/sha512 @@ -0,0 +1 @@ +983ebbd8531dbccd12f757d4b79bee75a0f8cbeba5d8cdea9ecd945dc3c53cccfe68691952187736a00fb49d368239daa7b43e918809b61d5f6b91dbb7be9aac diff --git a/deps/checksums/blastrampoline b/deps/checksums/blastrampoline index 3b5e4359e43ec..0276f885e5768 100644 --- a/deps/checksums/blastrampoline +++ b/deps/checksums/blastrampoline @@ -1,34 +1,34 @@ -blastrampoline-d32042273719672c6669f6442a0be5605d434b70.tar.gz/md5/f380e4238a2dec186ecfe9598f75b824 -blastrampoline-d32042273719672c6669f6442a0be5605d434b70.tar.gz/sha512/00437a96b57d99cef946257480e38e1dfdf325c46bc4a1619f5067565dfb7d9f668b0c8415badb0879b933cb1972f3c4e6be4c9e63a8a85728033e2183373819 -libblastrampoline.v5.1.0+0.aarch64-apple-darwin.tar.gz/md5/edf090a17d862c33d611875058438757 -libblastrampoline.v5.1.0+0.aarch64-apple-darwin.tar.gz/sha512/a3413c7d46c04318a5bebf10d6f930d04b5997d4be6be4e2748a7b60f968d2f2be7de140eee6c699962a12e8439f68f144e5323dea17d91587e82f97aaaaaa24 -libblastrampoline.v5.1.0+0.aarch64-linux-gnu.tar.gz/md5/fe88a410d795f805756488915679edbd -libblastrampoline.v5.1.0+0.aarch64-linux-gnu.tar.gz/sha512/cbd31304278ea67ddc0f766c4647275c87829cf5377c3851153b7568015f4f016fd0f3e095f479c33d23a50f4af8c38bae4555b02dcbf45a04b6e5a0dd3504a8 -libblastrampoline.v5.1.0+0.aarch64-linux-musl.tar.gz/md5/d4d8c393eb28953297b37a7bae79ed2e -libblastrampoline.v5.1.0+0.aarch64-linux-musl.tar.gz/sha512/3b5dca87e089ac10486f75663b4cf7d404c71b040231b04e1ec5110d13f30ac620b4cb880040106273866d465da9bdda5643887534de8e35668a7ab545422216 -libblastrampoline.v5.1.0+0.armv6l-linux-gnueabihf.tar.gz/md5/8b5f2fbd5442bf31bd10836ffd177968 -libblastrampoline.v5.1.0+0.armv6l-linux-gnueabihf.tar.gz/sha512/f1d6314c785afc0aaa3ebcf8a532312e676ca41d427b9c2abdea88c700df4d6a7cb5cfa54d65493e5c3d711a64062a20a5de7e3b75feee0653115cee7de05446 -libblastrampoline.v5.1.0+0.armv6l-linux-musleabihf.tar.gz/md5/8ed3013c644ab3be5dce013fb23fd413 -libblastrampoline.v5.1.0+0.armv6l-linux-musleabihf.tar.gz/sha512/da40cbb0114d46a66ae41284d36dc855aa52dcd3993643858308f18c5d8eedbf92fc8ee57d3e3cc2153f29670b40bc03a8dd01d5b49dde210c8a7a2d471a59b7 -libblastrampoline.v5.1.0+0.armv7l-linux-gnueabihf.tar.gz/md5/23b8ef9ea92a8d474646d814c0c91577 -libblastrampoline.v5.1.0+0.armv7l-linux-gnueabihf.tar.gz/sha512/97789adc18a54b953ce8696b484a4314e734a8092a27f81f43c1ae269b592b18ba7c67082396220a1906ffb075895c34462be976e0059aded9f6a6948abb1672 -libblastrampoline.v5.1.0+0.armv7l-linux-musleabihf.tar.gz/md5/d5a47ebe37a4a234ee6a4f3cf830e8c5 -libblastrampoline.v5.1.0+0.armv7l-linux-musleabihf.tar.gz/sha512/65366692c074576733e3b3f15d011e326d6a1e2357055a1a0159db31cdd7d5ff0e9aba9a33c1f2a949e128ac10b72776a3f76907df4cadcf7e67ace934cf4ef0 -libblastrampoline.v5.1.0+0.i686-linux-gnu.tar.gz/md5/14a342ab1bd16ef61d747e99acc97e6a -libblastrampoline.v5.1.0+0.i686-linux-gnu.tar.gz/sha512/8eca984912e69af769f06cd2b38d1df9d724e4e42d6d5b2fcb77a8e74b2aa9f9c31beb36d634e5da28d4d2f0838957f5c5cd336db616768d8ffb60217fe92edc -libblastrampoline.v5.1.0+0.i686-linux-musl.tar.gz/md5/201e6c737df0c0e2f4327c395133969f -libblastrampoline.v5.1.0+0.i686-linux-musl.tar.gz/sha512/778daa7a0d3a6fb8d6480a14123e874009f0fdc5f1d3411518f8d9975c45ca418e88d71db72af8465d4064f4c177d0abb70bc568df3a4c765eed7c5aeddca428 -libblastrampoline.v5.1.0+0.i686-w64-mingw32.tar.gz/md5/8ddf4dec49fac4888f94f90143126e5f -libblastrampoline.v5.1.0+0.i686-w64-mingw32.tar.gz/sha512/388b797f4c86f0ea090058acaff0eed34c42d45092c001410d11a4a4da93668c1729453290872cd44615ee517d62546f4dc42005240a6c36e40e7152f5c9cf5c -libblastrampoline.v5.1.0+0.powerpc64le-linux-gnu.tar.gz/md5/db626123ab94b489ac8b4d395b2f5cf4 -libblastrampoline.v5.1.0+0.powerpc64le-linux-gnu.tar.gz/sha512/8c96f518dea82057fe85bdb2ee867cc7abc33e9c53fe94dd84d097a16268630c22082db7fc003dadfc4749400f3465564088e05cabd6844c31b870319432c433 -libblastrampoline.v5.1.0+0.x86_64-apple-darwin.tar.gz/md5/65b9aae2f749ec608b61412aa1921d65 -libblastrampoline.v5.1.0+0.x86_64-apple-darwin.tar.gz/sha512/38e974c9260614d855b0b13f78e72bbd65aa889e88101d25441dd4e78ce37baf81bab7de1950d71d8e35b32d62fb88ac9c3f39ab5a4aff11d00619441bc003f8 -libblastrampoline.v5.1.0+0.x86_64-linux-gnu.tar.gz/md5/0ab01f256277b4ea96f6d83c50891b99 -libblastrampoline.v5.1.0+0.x86_64-linux-gnu.tar.gz/sha512/2b2178d74beb1c12e348f6469777d31116f26229c243d5e08a6ac36a74c3eb38854c1d82429d0e7cabee259d0d5220c47c334a561ea5caac6f61d91aa6b34f52 -libblastrampoline.v5.1.0+0.x86_64-linux-musl.tar.gz/md5/52a9da4586daa6572b8fe2c13db6268a -libblastrampoline.v5.1.0+0.x86_64-linux-musl.tar.gz/sha512/04abc5a0b6f80f10d1fccceee8a0e1c58aba76a45e3f6662ce4115d9d39d20dd05b3859434037d21bf6c5088a5a428565cd86e1cf6d1676666ce7e3eb1921b80 -libblastrampoline.v5.1.0+0.x86_64-unknown-freebsd.tar.gz/md5/f2b66517937a7647086ba96acc81c6a6 -libblastrampoline.v5.1.0+0.x86_64-unknown-freebsd.tar.gz/sha512/c19654b97928bdba36ccf3dbecf8ca994a46929c29c5c120d2d17062128a3df8927230fe7c418d6f780557abb8ce94b6a6a023bddcd3aeb91c8302cdbfe2b39e -libblastrampoline.v5.1.0+0.x86_64-w64-mingw32.tar.gz/md5/4b50ad8399c733ee5d60ce1ad00e1e5e -libblastrampoline.v5.1.0+0.x86_64-w64-mingw32.tar.gz/sha512/6a0f1d061350d53dd2a030ba11a0ac02c5ae598cd2c21dda39f95d81a2b0f43a454d60cf32c2fc0546df074181100e2d247d229d62c4a6b94bc7b697b02f0e0e +blastrampoline-bac2f810d523003fbb431ecc6e9ea81c8b86e2d6.tar.gz/md5/070218f52aee906ebebb035e6c504aef +blastrampoline-bac2f810d523003fbb431ecc6e9ea81c8b86e2d6.tar.gz/sha512/eff4c34f19fd444cf3379c81836db82848287aca6106d952127565a0ee2d36797fa36b9f48b77db6a9a0c27dd307400385236ed335d7e58ecc7ec92de32af2c6 +libblastrampoline.v5.1.1+0.aarch64-apple-darwin.tar.gz/md5/a6475f23420c26d97b1baf1e37cc13b5 +libblastrampoline.v5.1.1+0.aarch64-apple-darwin.tar.gz/sha512/96386a4e0b57bc50cbefbb0eb75b037571e3d9ae3900122bb8d4f7f14db017b9e8a6dd2eceff07c9880dda2e072b89df7d21432fd5a08bef87a282cfc3bfbb82 +libblastrampoline.v5.1.1+0.aarch64-linux-gnu.tar.gz/md5/c28450dc1999d9304414288b267d72f2 +libblastrampoline.v5.1.1+0.aarch64-linux-gnu.tar.gz/sha512/19303d32b316cbce29f93dfb713987d6567946262158f1aa5f447a86197843d2875915fc6282264f49747237844f8cf32f9e5b2a0d6f67d514474823e7929de5 +libblastrampoline.v5.1.1+0.aarch64-linux-musl.tar.gz/md5/a40854c55588b88c57994fc8e3d3247a +libblastrampoline.v5.1.1+0.aarch64-linux-musl.tar.gz/sha512/c2fbc67fd8ab61bc854722949ac87d19fb7ae3e732f01e9ed855204605ef1b2756db4272688807a9928eba3cfe949099a3e74ea68c432219c023216d82e44b1b +libblastrampoline.v5.1.1+0.armv6l-linux-gnueabihf.tar.gz/md5/2d564a40dafc6e3001bcb13f2460306a +libblastrampoline.v5.1.1+0.armv6l-linux-gnueabihf.tar.gz/sha512/2ba59a5ea48bb4e9fafc5a34b8bc09fda9f4aa15917e41a87410d888ff69832fbd54a6ed6a401e0686dd2fd46e90603969ee42497691270921cf5688c8a1d2f7 +libblastrampoline.v5.1.1+0.armv6l-linux-musleabihf.tar.gz/md5/41cd8967ea13f76301e2760ce20b16b9 +libblastrampoline.v5.1.1+0.armv6l-linux-musleabihf.tar.gz/sha512/40f69ae9e352215e8faa65ca8451d5850090cafc3b71207df2f588ebd06d247fab4af02a544e5389a9e5a89a38d5a89f71ad8d1bf7bc695d9cf8903e9654ac87 +libblastrampoline.v5.1.1+0.armv7l-linux-gnueabihf.tar.gz/md5/a689ed70eba7f191a32508c5e266952a +libblastrampoline.v5.1.1+0.armv7l-linux-gnueabihf.tar.gz/sha512/47e5e1f1ef3f7dbf22c48bc9a09c0abb5abb967885c288c74b51249a22aab0cf475887e612f219e5abb905eab3018d5b5225682bfcc908debd6ff8d509e1a23c +libblastrampoline.v5.1.1+0.armv7l-linux-musleabihf.tar.gz/md5/ed08534ca3f065d391c2484c5fe6fd6b +libblastrampoline.v5.1.1+0.armv7l-linux-musleabihf.tar.gz/sha512/014d10a154ce3d35dd428dae52d4d52445d1cc1d501aed5f490332b663438a000b02992946b0ce18bf2e829339a35e163f684568f3484c83ca4f8584da4cc405 +libblastrampoline.v5.1.1+0.i686-linux-gnu.tar.gz/md5/b5f315c6e3b719991f4750d0451ac13b +libblastrampoline.v5.1.1+0.i686-linux-gnu.tar.gz/sha512/b67a478b532b664c1729a151d62f070308806476a2ca38bde3d20648676f1ed7f41ada42650641f98eb165beba984d40ddbe667b49b99213321c54d72c2f0f81 +libblastrampoline.v5.1.1+0.i686-linux-musl.tar.gz/md5/69b0b2128c7b482bc6f7b769d30322cc +libblastrampoline.v5.1.1+0.i686-linux-musl.tar.gz/sha512/97621e6f17deb137ba63af5a413efa67bc60ccd6a6776ff6fad8b1393e8a4b9a4586b5a4015471a64314b85e81e8421d5fa85b55f7bc48f4affd30d89a5d4082 +libblastrampoline.v5.1.1+0.i686-w64-mingw32.tar.gz/md5/b16bdd51b0d3336bca03374cd23884da +libblastrampoline.v5.1.1+0.i686-w64-mingw32.tar.gz/sha512/f323fae462a4d1210fbab1f6b253224b385c5a3c5e259cd4ce57fc4f77ba53293b8f14a3cd9db1f7c8ee2dab461aa36d62a8ec8e9693f3c257b8401de6550cc1 +libblastrampoline.v5.1.1+0.powerpc64le-linux-gnu.tar.gz/md5/d8f0d6980b97ae48a9d97dbfa28e6d1c +libblastrampoline.v5.1.1+0.powerpc64le-linux-gnu.tar.gz/sha512/f1137c5357153c0c309277d39398c2338297be73de995ae083397da5c170c4b1bec6939b6e160601b98ea40c42f9b563ac5ac1625341cde1ece6b1b5f5ec01f5 +libblastrampoline.v5.1.1+0.x86_64-apple-darwin.tar.gz/md5/088b8d27b76be56fcd7ed4383e5912d3 +libblastrampoline.v5.1.1+0.x86_64-apple-darwin.tar.gz/sha512/52741282b55f1ee0ded1aa63e4313a84be0862209f8a4439ef2076a03010c0d91083ca35cacbf187de77817ad864625a3dfd2769881764e3d9434ae387405778 +libblastrampoline.v5.1.1+0.x86_64-linux-gnu.tar.gz/md5/562215ad47d93c83c6587051ef201f0c +libblastrampoline.v5.1.1+0.x86_64-linux-gnu.tar.gz/sha512/9217f6afa0f3ef534c361fc09d14bfdf8322a8942c5e2ca0fc9234839e48d56339f03126aa9706b2ef067f88433d79f7d6f8824bb5763b99f64ef42919c3ab0b +libblastrampoline.v5.1.1+0.x86_64-linux-musl.tar.gz/md5/bd9b17ebc05ae50fc125c3cf1df8f990 +libblastrampoline.v5.1.1+0.x86_64-linux-musl.tar.gz/sha512/68b0ea95d404508038ca84b426c3ec02ae98b129e92a0f661766ab08bf38750f92a8aa41c53327bc2f6787b42504025011eaf79bb98febace4c41e628caf2094 +libblastrampoline.v5.1.1+0.x86_64-unknown-freebsd.tar.gz/md5/0308d4a7312bacc62446438f4d4b6894 +libblastrampoline.v5.1.1+0.x86_64-unknown-freebsd.tar.gz/sha512/d4085d81e85b9c1ffefd5a6147deea9f04436e1145eca73e5b63dba048aeaab9c497df725dc3104a77c834597363b7205ef7270f96ae94f06c950f7574e25d07 +libblastrampoline.v5.1.1+0.x86_64-w64-mingw32.tar.gz/md5/2a883d986c884be08ef332bcdc3ab52e +libblastrampoline.v5.1.1+0.x86_64-w64-mingw32.tar.gz/sha512/dacbcbe09910b7965448b22f3dbd55945bbe22d06c60a92d2c97da83f0b08d00278ff870eada470213fe22fa3c8acfcc0be8b753a885d98898d048e896c909ad diff --git a/deps/checksums/clang b/deps/checksums/clang index 68f28d9640b21..33424cdb4ac49 100644 --- a/deps/checksums/clang +++ b/deps/checksums/clang @@ -1,58 +1,58 @@ -Clang.v13.0.1+0.aarch64-apple-darwin.tar.gz/md5/e94db5924ccf13ba54642df7c93c69a9 -Clang.v13.0.1+0.aarch64-apple-darwin.tar.gz/sha512/1f77b8ea9f67e46a6fc65f58ba5cf5c451d97e8f94c3842e228886fb7571a07e544de78872e5d7f201e03a6b43ab0d94b9bfd538a3f73d7b6b53f442871c61df -Clang.v13.0.1+0.aarch64-linux-gnu-cxx03.tar.gz/md5/ed984baafbcd36c4627a45dc0edf9a11 -Clang.v13.0.1+0.aarch64-linux-gnu-cxx03.tar.gz/sha512/13ca14c74e4544bbc069ac562f296a73bfa347cb5cd015638f1bffc047f9395aaf49947040a61ceab360a50cea928d002752b1b01210662c286981832844c584 -Clang.v13.0.1+0.aarch64-linux-gnu-cxx11.tar.gz/md5/1f1207b0522351e57a55f0e05c98d6ce -Clang.v13.0.1+0.aarch64-linux-gnu-cxx11.tar.gz/sha512/7fa39fe15b3aaeec37cba5563a46423990b48bfc8a1f185797050de0bce9293ef0893603aec578c3aadbebab53d07caf33198eda7507876a49be9ec15cdbb1fd -Clang.v13.0.1+0.aarch64-linux-musl-cxx03.tar.gz/md5/37b49d0d02a5911b74523cb8f8a1abf1 -Clang.v13.0.1+0.aarch64-linux-musl-cxx03.tar.gz/sha512/1a5307498c9a1eec6e80bc1641fbd5819847ce504ee0c53c07cd09a5b15976649750364755b3ff5f851ffa197eaf6d69a74c4a96cc3b3e6d44c6ca66afd3cff9 -Clang.v13.0.1+0.aarch64-linux-musl-cxx11.tar.gz/md5/ea5974f42ceea627ba96fac88e0f0ed9 -Clang.v13.0.1+0.aarch64-linux-musl-cxx11.tar.gz/sha512/15d2c0526accb8610e64f9a4bf9cd9d72c3c903727fa4af129fbdce0af350295546c8a5e58c3a59196d511e30e57d7b0c448a087fadb60806cc0ac2fc5dba2f9 -Clang.v13.0.1+0.armv6l-linux-gnueabihf-cxx03.tar.gz/md5/3db46a89eb9323734fc4a4f6dcdb558e -Clang.v13.0.1+0.armv6l-linux-gnueabihf-cxx03.tar.gz/sha512/bdd974cdc6ce4974fd1a0e594535efc66ffd14d9cc4f6421046b836337e950d983d67f23e7af12b59c62d0254df05b5a8dd19a5503e67b00d5d9442d85a789ef -Clang.v13.0.1+0.armv6l-linux-gnueabihf-cxx11.tar.gz/md5/fa0f8ba9ed675da78f19b7212a3f8a89 -Clang.v13.0.1+0.armv6l-linux-gnueabihf-cxx11.tar.gz/sha512/b96b4121bd327fe004dc335382e2aa5193acdee411ec5b5a5fc449c209bf94d2645d40f43f15e9ddd92d5848a1f87c792e2852dccba2d469de2e1a9ea95f5ef6 -Clang.v13.0.1+0.armv6l-linux-musleabihf-cxx03.tar.gz/md5/33e2cc2bc2883ee2d34c19b89927f736 -Clang.v13.0.1+0.armv6l-linux-musleabihf-cxx03.tar.gz/sha512/a35f10aa8412b008ec181d71dd575284ecdc103cf41f0e1c52c1e856cc26e77f566cfc3a581394b52b87d4fcb11616b7824631c389ee711c5786d43dc5ff52de -Clang.v13.0.1+0.armv6l-linux-musleabihf-cxx11.tar.gz/md5/8990c4b777810f1335bfd2d2ace2cf3e -Clang.v13.0.1+0.armv6l-linux-musleabihf-cxx11.tar.gz/sha512/e92999e8112316b7806756967cbb1424a68c9415e03c7f9c1203a0450485f4f1d48d6e8341439ce3d63a9e88c4b6db46ce4f886db353e31dbcf3111f8e5744fd -Clang.v13.0.1+0.armv7l-linux-gnueabihf-cxx03.tar.gz/md5/91a4810d844aea695f7114bf1ac80207 -Clang.v13.0.1+0.armv7l-linux-gnueabihf-cxx03.tar.gz/sha512/310ce9579c637de268e18c4f5cc31f5023784be36f3073273927c9ade7299326fb801759f0f5828cdf04580104502651e9b532d4a6b2934aa8d39acbad118956 -Clang.v13.0.1+0.armv7l-linux-gnueabihf-cxx11.tar.gz/md5/73c0c2c6533af4964892dba587c8b5fe -Clang.v13.0.1+0.armv7l-linux-gnueabihf-cxx11.tar.gz/sha512/b0b311acc95a731fc791d578b6b1fc65834c98e1b551d91f0a4ac03f79c27af16427f0397a1f6f380ad4b77c9aa38465a207cf472f39e0651b39e54695150481 -Clang.v13.0.1+0.armv7l-linux-musleabihf-cxx03.tar.gz/md5/e6b6bb1aa23fbbf60ac52bad871e9dbf -Clang.v13.0.1+0.armv7l-linux-musleabihf-cxx03.tar.gz/sha512/66e90be4aed8a5cf9becb929915156b3c2fb0bb8b2ee8c3a8f06c3e7c24fa84b69b37493843d0609020b6a7263b0df7ab2793dd0f6ce01b79d7f5a350cde2ac1 -Clang.v13.0.1+0.armv7l-linux-musleabihf-cxx11.tar.gz/md5/9dcd26df744a47a1cefea19f17935b29 -Clang.v13.0.1+0.armv7l-linux-musleabihf-cxx11.tar.gz/sha512/a72d97d581f99be56cf8a6853662c77cabb3001eec4fcb802ec3278ab84517e96726373414f67c87c0926e25ce170f22c930b2bf804b0067b1511d6cfc61b00f -Clang.v13.0.1+0.i686-linux-gnu-cxx03.tar.gz/md5/9c1094a09da852d4bb48f7a60e0c83cb -Clang.v13.0.1+0.i686-linux-gnu-cxx03.tar.gz/sha512/6f62fb75f64c8b8adbae1ca8db44c4a4795ad6eae0673982aa18122282fb784c796107cc3a9a54e435694b4a898c63c86797317d7e37a0d8f1110f4fcbe4ef58 -Clang.v13.0.1+0.i686-linux-gnu-cxx11.tar.gz/md5/5d22a3bedc62200471878a42001fc39d -Clang.v13.0.1+0.i686-linux-gnu-cxx11.tar.gz/sha512/7fb2041030245c2e997f51cb3406ed5307def6dd5c23b1a32fff19b3dc03b59de1a0f2d6d530abb89ab0a2514110dfdffb53bb0178337f29f28d3fcaf00f8ce1 -Clang.v13.0.1+0.i686-linux-musl-cxx03.tar.gz/md5/fcc97104506c26f5161fd94b973dbb46 -Clang.v13.0.1+0.i686-linux-musl-cxx03.tar.gz/sha512/99a42e5d583442432175357546811c7fede695f4d3d6026eb9d02585539d7c21ccf1adb449de47bb248d602a5297ae1923766fadd52487806729f95381ebcfd5 -Clang.v13.0.1+0.i686-linux-musl-cxx11.tar.gz/md5/1a712b6fa8672da1db6528dd655a8bf7 -Clang.v13.0.1+0.i686-linux-musl-cxx11.tar.gz/sha512/eafc025c261f79dc646766aced9962b1901c820a2691e230f2610f499687905b34feffe65a241b885187f79dd83688dc796cd5adcd3af304effe75190098d6d4 -Clang.v13.0.1+0.i686-w64-mingw32-cxx03.tar.gz/md5/7d9f36bc0be2b02443adafb6e57a180f -Clang.v13.0.1+0.i686-w64-mingw32-cxx03.tar.gz/sha512/0642c87e349ae10c7ea8f48388a600ff97a276b23b7936ca35ac6d9a1f686c70d1ec4cc7e4a893aca13f8109b5368d2ca52113021d18ba33912c375007ac1051 -Clang.v13.0.1+0.i686-w64-mingw32-cxx11.tar.gz/md5/034d5fb31a4b749f7fcf13742d5d211c -Clang.v13.0.1+0.i686-w64-mingw32-cxx11.tar.gz/sha512/9313dcf2a807d349be44b827d34f44f9780f14a93e7b432ff99346c7e352c42e3938fc6fee508f9b1896853823f524410ce7fb85a7b3e542e474df3c20d810d3 -Clang.v13.0.1+0.powerpc64le-linux-gnu-cxx03.tar.gz/md5/7b7286c7ce9e383a6180442ada1b21c2 -Clang.v13.0.1+0.powerpc64le-linux-gnu-cxx03.tar.gz/sha512/c9a10e970a93c2d0fe7cd1952f4c152a51c51648376ab0ebf41a736d89a20121c2f9744104290ca4377a397ee612d6af85f117817aea0c49a2ac8d4a861664e8 -Clang.v13.0.1+0.powerpc64le-linux-gnu-cxx11.tar.gz/md5/53f47082122cd88d411af8ad98adf344 -Clang.v13.0.1+0.powerpc64le-linux-gnu-cxx11.tar.gz/sha512/8672668843e4aed4fa0c8acfc28066a2acfaffa47f46c3a4f6bfeeec4824269fc063860c848c737b76e009b15e8c0132ed6b63b2904b96bb1d0df5cf7d835022 -Clang.v13.0.1+0.x86_64-apple-darwin.tar.gz/md5/deb4584aa670642d499454aafe32b809 -Clang.v13.0.1+0.x86_64-apple-darwin.tar.gz/sha512/e4de906392344ba21a7ebee11a8bbce0e422f8460d39de31980a9637a52e88d49db6ea22b094d3ea1c27283062d7abc6d45fc570aeddc067d1e28f573c00c8fd -Clang.v13.0.1+0.x86_64-linux-gnu-cxx03.tar.gz/md5/8c999db749701fd4a4df7486f740c89f -Clang.v13.0.1+0.x86_64-linux-gnu-cxx03.tar.gz/sha512/ea9661825f40a31ae238b5644693767106710a9e157e1f7d715dab5faf63ff8433117e2507eeb863f0a25deed669cc0bfee750af961f6d167db27d7cf8b75819 -Clang.v13.0.1+0.x86_64-linux-gnu-cxx11.tar.gz/md5/7f09aa135ce9ae07586d075414a44e87 -Clang.v13.0.1+0.x86_64-linux-gnu-cxx11.tar.gz/sha512/93f75720fd620ca46997c7fd6f401cb45063afc8f860eb3c361f285d85ab5c4e902a13ca3abefae48cfe1e8fb902adde4341f2aabf72c3b188573054b81c6b9e -Clang.v13.0.1+0.x86_64-linux-musl-cxx03.tar.gz/md5/fd701653e03d835e67b5c0930c281034 -Clang.v13.0.1+0.x86_64-linux-musl-cxx03.tar.gz/sha512/7cf9180caa5d4b333842a41f3f451cd389457aee9ea83fa2405f655804f3c74d9be2d9e887bd6a787fe817afbde36ad658d4ae49b63ec1ebce0ed77c62326442 -Clang.v13.0.1+0.x86_64-linux-musl-cxx11.tar.gz/md5/15fb3d47ee056a15d8f14799ff5fe45a -Clang.v13.0.1+0.x86_64-linux-musl-cxx11.tar.gz/sha512/3cc641ebe266d959e0c5699c59d655095a5b596340e991cc9d4462a5674fa50d89d7cc1937582011464c8568306babe21cef0c4bd1d99430687fd17f3a6f479e -Clang.v13.0.1+0.x86_64-unknown-freebsd.tar.gz/md5/b4f855841995f513a632905184e6271c -Clang.v13.0.1+0.x86_64-unknown-freebsd.tar.gz/sha512/d3390ea1ee311b49d355f9a6c41669575fbd3b66ddbc9791cfcb47673e19796d3cdd210469fecf351a57060d7447d9678980f022bbae1b4cda5799e8ece6aecf -Clang.v13.0.1+0.x86_64-w64-mingw32-cxx03.tar.gz/md5/323038a69d2760ac4c4cb6f3f712231b -Clang.v13.0.1+0.x86_64-w64-mingw32-cxx03.tar.gz/sha512/51073b2862447c184c54b47a02d27d20733024f1d11d4d2f15938c47bb47f94002b56dc60994165cf416079b74d1850445d521811356070bccec0e32f09071fc -Clang.v13.0.1+0.x86_64-w64-mingw32-cxx11.tar.gz/md5/a7e7405baa541ca5bcf44468274c179d -Clang.v13.0.1+0.x86_64-w64-mingw32-cxx11.tar.gz/sha512/07590b6f3ea2456f5bbf7aa87248b8462e60b8ca0f8c4c4ea419bf093efec232057551aee9e93114bff2cd7ee9a76ccec9515be632b94f4e6c17af4aae3478d6 +Clang.v13.0.1+2.aarch64-apple-darwin.tar.gz/md5/49ca7159ca2c064ded33a7a223d6f409 +Clang.v13.0.1+2.aarch64-apple-darwin.tar.gz/sha512/354a600f210e0b6b6fa4db3315145c4eea8aa3ae2fc3d800c99c02f1a62798181dfd7b75eaf82fe0df1ddbb81e78906c5376a2fcf9f367317a08d3502bba5f80 +Clang.v13.0.1+2.aarch64-linux-gnu-cxx03.tar.gz/md5/66bb905108af01561661d0a7d7f62ff5 +Clang.v13.0.1+2.aarch64-linux-gnu-cxx03.tar.gz/sha512/706e5950194988ffb7c6de59442744d2613141e00c2485e369d1fbfccb816090d7043fd8de368c7c46bded1dd1d9a258491ec552fc0de1fdddb2de3ae858ccdc +Clang.v13.0.1+2.aarch64-linux-gnu-cxx11.tar.gz/md5/f8afd07e400ba048659ccc488c26dacc +Clang.v13.0.1+2.aarch64-linux-gnu-cxx11.tar.gz/sha512/f708eebb2b505b1841af007a5e60a5a41d09c8c01546ef5eb66c25d3b9cfbb17a58fac2cfb29d5f4522c91d36d203577611ed49cb29f8f81825db031b93d7cdc +Clang.v13.0.1+2.aarch64-linux-musl-cxx03.tar.gz/md5/d03e27c1f08a63364a15d9c479b9bebe +Clang.v13.0.1+2.aarch64-linux-musl-cxx03.tar.gz/sha512/1ba08f194abae2af4af742815edc1f73d52449065c9d515dc35ee18dc1aaf5486dfdc0e691709f78b98b191b208fa66fb6e2850f021a472b2f6e699576966a6e +Clang.v13.0.1+2.aarch64-linux-musl-cxx11.tar.gz/md5/00050161006c9ff42b6685e4784f7fc0 +Clang.v13.0.1+2.aarch64-linux-musl-cxx11.tar.gz/sha512/9502305b02bf01d96f1261f31db826374aff4c65b6ec7f043d2b80bf2693a9ef2688fddfb7d53a78254a0b18e40e2d13f035d1cadaf5d0aeec001efaf5ba12c8 +Clang.v13.0.1+2.armv6l-linux-gnueabihf-cxx03.tar.gz/md5/7300c2fcbd210d201a7a3fb773f5d815 +Clang.v13.0.1+2.armv6l-linux-gnueabihf-cxx03.tar.gz/sha512/145b44ca3b98ee2450db5f738aaafb3d8560a2eed269d5ddb79f6730024d12d46dbb1e791617eeb2bae27b3474c344d72c22ae610651e083a00d9315d3718d7e +Clang.v13.0.1+2.armv6l-linux-gnueabihf-cxx11.tar.gz/md5/3252d02cef57383411ccb906f29b062a +Clang.v13.0.1+2.armv6l-linux-gnueabihf-cxx11.tar.gz/sha512/cc0851d831684e8b7ebf8f43a5d159f041302c0905c2035efcf1bb45dc92073db32570fed63ac73df20271b6e3dddf5a637a99c8b687096de2fb85369f8fe8f5 +Clang.v13.0.1+2.armv6l-linux-musleabihf-cxx03.tar.gz/md5/011545522e96b09e6766be3eddb7d86c +Clang.v13.0.1+2.armv6l-linux-musleabihf-cxx03.tar.gz/sha512/e1c1db11dd7e408ff6d47c0d6247c2fe8aff1b85160deb0f5a8bbfb35c0faf50f12d07296e5f5b30c38c879a3c45f0dec2005e710adad5336ebf46acbde53572 +Clang.v13.0.1+2.armv6l-linux-musleabihf-cxx11.tar.gz/md5/f94ba0082e8823b0bd41f15a38502718 +Clang.v13.0.1+2.armv6l-linux-musleabihf-cxx11.tar.gz/sha512/492ef0d7af2e4176b43751a6f6ffd88c89404589964f7a8c9a957537e3d2ef3d0a9bf277e539589bd4b2b705b43f13ed22f7fec8a75f0400d185833537226331 +Clang.v13.0.1+2.armv7l-linux-gnueabihf-cxx03.tar.gz/md5/c899ce799934067a8037a16e4347d26f +Clang.v13.0.1+2.armv7l-linux-gnueabihf-cxx03.tar.gz/sha512/424af8ae2d6735495751d9183c1189afe67a135cc8acd5ca1b2ee6598e6efba3efd1f45a7d1b14cf67c2aa6512a4b088581a4da879ec9e184c9125684e5ccaa3 +Clang.v13.0.1+2.armv7l-linux-gnueabihf-cxx11.tar.gz/md5/66b9e334eb7a2ac5552460d51aa1b895 +Clang.v13.0.1+2.armv7l-linux-gnueabihf-cxx11.tar.gz/sha512/01b29f509355fd054e7ba656d7349de90a191ab4992af86f90dfb7de3631a23b3dddc43743ce1dee9e7a5d7855f3a9d6c3525ae9f6581c271139dc7796a50bd7 +Clang.v13.0.1+2.armv7l-linux-musleabihf-cxx03.tar.gz/md5/5bbdc99bf639afcd1079d8c78cd483af +Clang.v13.0.1+2.armv7l-linux-musleabihf-cxx03.tar.gz/sha512/250533d74c4dddc7f5a0ae16deb5d2ee53b1c6870e59e569452bc986e2bc2ccc20bdba5bd0e13124715d924beae531f51d7f9127670f0a3a29d5e4f8fdc59740 +Clang.v13.0.1+2.armv7l-linux-musleabihf-cxx11.tar.gz/md5/6ecb7768b76798d3aca784649da83409 +Clang.v13.0.1+2.armv7l-linux-musleabihf-cxx11.tar.gz/sha512/fb88840b95c1426406b2ea80ee9c399a4ab32157154feddc72e4de8636ebe400849eb302b7744fb8ee506c7f2613aa65bf1e886fdc4bddace1db1aea009e022c +Clang.v13.0.1+2.i686-linux-gnu-cxx03.tar.gz/md5/ebc9cefaa748a0488a2ca4e5e499dd8e +Clang.v13.0.1+2.i686-linux-gnu-cxx03.tar.gz/sha512/13c6743745416b5e67e77c0cc430bb827288311e80d48bd06e03540f7b98e1456d7c73f78fd93240832f08ba43128ac65c5d10bafe517eb0ab953304ebdb4567 +Clang.v13.0.1+2.i686-linux-gnu-cxx11.tar.gz/md5/02761e159f30691376a1874c9a795d34 +Clang.v13.0.1+2.i686-linux-gnu-cxx11.tar.gz/sha512/903a44718282a5625c445536e31576fb91e429ee1bc48b1b033f099f24b293933deac6dcd378fa49257c19f01a35b34f80af42cd355759c3acda1afd3c9ac1b7 +Clang.v13.0.1+2.i686-linux-musl-cxx03.tar.gz/md5/cf269ef3cf165dfc2c7882eaca1f0463 +Clang.v13.0.1+2.i686-linux-musl-cxx03.tar.gz/sha512/d23230838f282a3771939766ac31a2e0e93c5a4e3040b10443e9aee14125700c1cf5c9d92e46e49d9095c7a5709d1bad5178a34e1e0336135772c7f752b8fc01 +Clang.v13.0.1+2.i686-linux-musl-cxx11.tar.gz/md5/152bf5b8acefb741d6a2231945d4d43f +Clang.v13.0.1+2.i686-linux-musl-cxx11.tar.gz/sha512/ed0f9622e44be508a792bc467c87846e672ac2750598dcd416b8b4418ba0e5dbc85e99ced40dc8184db68c2e27e342ecf8609feb077cac395805ab3088f150f7 +Clang.v13.0.1+2.i686-w64-mingw32-cxx03.tar.gz/md5/d676f0e17e2d4f235a571d00f0eeb46a +Clang.v13.0.1+2.i686-w64-mingw32-cxx03.tar.gz/sha512/f2b31fef42800796fab7961508de8aa9baee4cc095af6d7eb441c63a70b3b9a0447d1926b1044190f8fb0d22b3215dfc03277178fdfe96ccd458c6ce28b71421 +Clang.v13.0.1+2.i686-w64-mingw32-cxx11.tar.gz/md5/2bd3ce011bc7da537edf0579a5e4ac68 +Clang.v13.0.1+2.i686-w64-mingw32-cxx11.tar.gz/sha512/67f8d59304f77170a6f8780a750980f946e4aa129f855c97d92039569311077aeda93ed437794752494934e46a4e09fbe42b7f85f001c522bd81e33a8b170dec +Clang.v13.0.1+2.powerpc64le-linux-gnu-cxx03.tar.gz/md5/a51cce404a43140a71c146a5375ed69b +Clang.v13.0.1+2.powerpc64le-linux-gnu-cxx03.tar.gz/sha512/9e45a6b2bd44c6cbcf158972c2bb0a55efbb4c0af135fa4487d9c43c36d643a29aa466666ecfb388722285cf0d20456528a6042b5b5c925f54479b84db3fbbde +Clang.v13.0.1+2.powerpc64le-linux-gnu-cxx11.tar.gz/md5/f0b3becd447111213d206f33d3ceb224 +Clang.v13.0.1+2.powerpc64le-linux-gnu-cxx11.tar.gz/sha512/6ace1ccb0bf924b41db73bde2fe3d987a79c94119fe1017b7fc1ca94482542a35e4a436ff201c5be16034bbdf5b2a8d52fb3bdb7dc1c4077ad2fe1dc26911610 +Clang.v13.0.1+2.x86_64-apple-darwin.tar.gz/md5/15505fa8dde3298bfbb2b9e5f13ad376 +Clang.v13.0.1+2.x86_64-apple-darwin.tar.gz/sha512/dfb2b4dafd6c2f225e6ef098c28aa9555aba798f355efd50b811bfb42d1b2c1cf8d27e67bf25dd5e624821e967aee0c68f3e708e762c4bd4ef973d0d6b05e7d9 +Clang.v13.0.1+2.x86_64-linux-gnu-cxx03.tar.gz/md5/2297ddee8beae10360bf3e287139bd87 +Clang.v13.0.1+2.x86_64-linux-gnu-cxx03.tar.gz/sha512/c5937a52caa13b443f7bc2e3796a9da78a917040bc74684c564f535097c88be5e8714e83d166bb1c073c4783d6783c32598edfd8e121ba640bc672b818e484f2 +Clang.v13.0.1+2.x86_64-linux-gnu-cxx11.tar.gz/md5/f7ecda67d25d35fe3a62159b5fb32bbf +Clang.v13.0.1+2.x86_64-linux-gnu-cxx11.tar.gz/sha512/5b38cff3629043ae4c9bfbe353afe845ff6afdcfc628e5223ca654d52b1be33af439afbf3684c9283360f4f4f4d13611c151c1591cd3e4dae45e1e91665709c6 +Clang.v13.0.1+2.x86_64-linux-musl-cxx03.tar.gz/md5/b13aa15779d1e1a3764fc4600ffb9bc3 +Clang.v13.0.1+2.x86_64-linux-musl-cxx03.tar.gz/sha512/a667b7043b19b6f6c8d9f8c264101ffe05a318bdc93e3541e0719b761422f2cbeda01b9337777b6b327292637fc96a811827978b318564d44b5cb53eed3c2e83 +Clang.v13.0.1+2.x86_64-linux-musl-cxx11.tar.gz/md5/aaba70ed189ccd9723577d9fe3ff918b +Clang.v13.0.1+2.x86_64-linux-musl-cxx11.tar.gz/sha512/4b9fefa074bdf1d98dbde4c3a6394151e0c368228297b876b1fbd3bc64934204cdeae40e4f1d1cac31cde2a2a290a1ed86ea543a43862c4f36fe0f865752dad1 +Clang.v13.0.1+2.x86_64-unknown-freebsd.tar.gz/md5/46dbfa6898be4df10993cdc714193c82 +Clang.v13.0.1+2.x86_64-unknown-freebsd.tar.gz/sha512/d44619dd528bd1ed7e16c96b119fc9bb0b39e761641380b9dec67147f42131572a5e467a86cdad79fb61d10a26ed211e9752f7fad513259188cf7b6402715a9d +Clang.v13.0.1+2.x86_64-w64-mingw32-cxx03.tar.gz/md5/68e1fb6d07e89cc4b7d4b29fef74181d +Clang.v13.0.1+2.x86_64-w64-mingw32-cxx03.tar.gz/sha512/8dae7e50872d83758f89aba5d8bd240916bf21f16ccee747ce1a9f01d05bc06cc706e05f62a1667393af6570aa8057e008321dbdfc5235e066150258be3dc220 +Clang.v13.0.1+2.x86_64-w64-mingw32-cxx11.tar.gz/md5/b4a562ec746df756eaec1ef6b2edf81f +Clang.v13.0.1+2.x86_64-w64-mingw32-cxx11.tar.gz/sha512/d75c40b84069885f21ad4f6a2a30a7714df8f0f978329a112c92917b74974259421551b58494337846d8f3a476927dcbe3fc2f15c11b0abff69778e8cff15777 diff --git a/deps/checksums/curl b/deps/checksums/curl index 4b6e8da990d69..77cb46923aefd 100644 --- a/deps/checksums/curl +++ b/deps/checksums/curl @@ -1,36 +1,36 @@ LibCURL-fd8af649b38ae20c3ff7f5dca53753512ca00376.tar.gz/md5/f082283e6a35fcba5b63c9a6219d8003 LibCURL-fd8af649b38ae20c3ff7f5dca53753512ca00376.tar.gz/sha512/3bea5fa3fb6d29651daa923ae6bcb8eeb356ab9f2a1f3e005a6b746b617b0cf609aed4cadda4181783959840873c04b18e34e45ab973549169d19775a05ea01e -LibCURL.v7.81.0+0.aarch64-apple-darwin.tar.gz/md5/16d584cdac9f1756de1935c844f2095c -LibCURL.v7.81.0+0.aarch64-apple-darwin.tar.gz/sha512/38f800e309fddb2cd103ef5c65ad1ef2f7ec0dd7711e9afdb716b96b802c7fe089b04ea8d2bd2e675d62adc3b8aca3c7a243780f097b3466a496dbb25d2f7807 -LibCURL.v7.81.0+0.aarch64-linux-gnu.tar.gz/md5/6f70f7df6325bf6b62531d52ad313ae6 -LibCURL.v7.81.0+0.aarch64-linux-gnu.tar.gz/sha512/303fb30e2859c9d11fe64e964405ec2d4bcff4bafaaa5815a5548fdb0b42fca91fdfdf85473737b03399817f0ca6e23d870f56c354b0e53dd6ec142f2c69b182 -LibCURL.v7.81.0+0.aarch64-linux-musl.tar.gz/md5/b7aedf4bcbadf952c600d30643a2e284 -LibCURL.v7.81.0+0.aarch64-linux-musl.tar.gz/sha512/8bedf575e4eb2d4844b97b13b00f3d2c1fffccf10c1adbe11392053f7f956bd7592ac32a1eada474c57cc8d77999e214945ad6cf5242e577fa9ada29b35eaebd -LibCURL.v7.81.0+0.armv6l-linux-gnueabihf.tar.gz/md5/ed25c1478101dce0e37c18c68bfc2287 -LibCURL.v7.81.0+0.armv6l-linux-gnueabihf.tar.gz/sha512/6bc00770fea95aa01e8144738833990fb9080807efc3bed31b8ebaa45c04fe2817d8bcb0179f0322d60b77e4dd59514032978a680320fcc20287a0ba549e9972 -LibCURL.v7.81.0+0.armv6l-linux-musleabihf.tar.gz/md5/ce3591ab3e9b5c1da0b7f44ac3c03ff5 -LibCURL.v7.81.0+0.armv6l-linux-musleabihf.tar.gz/sha512/355c9f5d278d49329dbc56219df64f5d2b37581e1ee6cf2100deb52102f90ae7c9fdc047b9a341489985062d2461c058c1c8feb557776e7cf1563d4f49cb0a08 -LibCURL.v7.81.0+0.armv7l-linux-gnueabihf.tar.gz/md5/1e86f1abdc9ba03f26155f46db952150 -LibCURL.v7.81.0+0.armv7l-linux-gnueabihf.tar.gz/sha512/cc305e36e7427cbfeed7d5ddb10d34eb6f7475e1e9695f829fcb6400498ed5307051ebd31a28193b99cf11e87f79cb4f8a66e589f10b76b9ed6898a11e917b09 -LibCURL.v7.81.0+0.armv7l-linux-musleabihf.tar.gz/md5/dfaf544cdcf189cd09951aaaa26fbdc2 -LibCURL.v7.81.0+0.armv7l-linux-musleabihf.tar.gz/sha512/a412fef9e80f956f10092996b29c86f3fd673421339a0c502b2230bbca97065877ef379b18380197d071234abcd818edea797c739410c78170244c7eeaa141f4 -LibCURL.v7.81.0+0.i686-linux-gnu.tar.gz/md5/b8561fde02ddfcb64f724cd037cb59e9 -LibCURL.v7.81.0+0.i686-linux-gnu.tar.gz/sha512/904c043db84bef78f1bbb7b7ae1ba177942ad316ec39cdd7f28f9b2d3c578b8a835eb86d8ee91b604ed14e10b9200ae60ed8312e8a1ab7684e20d75536242e60 -LibCURL.v7.81.0+0.i686-linux-musl.tar.gz/md5/5fc2e3fbe3ccc362488e79fbd5eab20b -LibCURL.v7.81.0+0.i686-linux-musl.tar.gz/sha512/495be4a6ae0526c5ac6983e96b342226cfb2fa5c203135f0a402bbf3e8486d820454b8964c1a9fac4695df1619e5555a61a8cb4a3174c99cf0e8a3546a7f8749 -LibCURL.v7.81.0+0.i686-w64-mingw32.tar.gz/md5/24aa660ea3f5c019fb81f609bda7c44c -LibCURL.v7.81.0+0.i686-w64-mingw32.tar.gz/sha512/64f75cde988dedc0abbabb912b90850b07c54b24f8544125d6ceac5989337266cf3ea78b0758b58e3a490c7335090b8ac45d1282a2fe15dfb4fa93f55d4a46ab -LibCURL.v7.81.0+0.powerpc64le-linux-gnu.tar.gz/md5/26568c1b5e75fe00189cb6ebe6fa9ec2 -LibCURL.v7.81.0+0.powerpc64le-linux-gnu.tar.gz/sha512/ca7b2bba5190500275236966b7014935285b22ff551698a532681b970e461feb507fbe682ea95833ef453bdb5bf0516948fd9ca8971e10349252d286593a4792 -LibCURL.v7.81.0+0.x86_64-apple-darwin.tar.gz/md5/07850295b3ab6bb6cd63fcd9d4a35e6d -LibCURL.v7.81.0+0.x86_64-apple-darwin.tar.gz/sha512/cfc9fdf3f0891ce26d077696a4059a9fe0d95793dd391fc530b94367d074ce96bbb9f8a3af4cb5dcbbcc8c4ae160fe17146011bf805263ae4fefc36f320402e2 -LibCURL.v7.81.0+0.x86_64-linux-gnu.tar.gz/md5/39dc13a4ed2492a9ce9675737e8b5b10 -LibCURL.v7.81.0+0.x86_64-linux-gnu.tar.gz/sha512/f6e1c439620717be028a28fc9878d1618329aefe92561a2d4d95026bbe88c91526bf98a3b2e4643f47ad3ac047986c4461c5ace67412386f2ed53084826e5523 -LibCURL.v7.81.0+0.x86_64-linux-musl.tar.gz/md5/c7dfa116097f19421bba42728567a543 -LibCURL.v7.81.0+0.x86_64-linux-musl.tar.gz/sha512/91d3d99d67243bf6eac3aca09bb59d6b41bb5dbc4d7ecd6e81f84a9f7bb9a619ba5317ba06bdbc59ba372b0a9c5ef26d6d9654e8661ec6c890ef8bb189fb44ff -LibCURL.v7.81.0+0.x86_64-unknown-freebsd.tar.gz/md5/a19342f14c554d1a4a8355c17ee9e662 -LibCURL.v7.81.0+0.x86_64-unknown-freebsd.tar.gz/sha512/45ef0edb6a850ed0a45e7094fb5766b59ad325c29612a269a3e3a89cbc5fe62b06f9967bee5bae1239d4884e12af751e8c5054eb124a4ecdd06993b04aa6ea05 -LibCURL.v7.81.0+0.x86_64-w64-mingw32.tar.gz/md5/cffc213693c62d651f9cee6ed726eb81 -LibCURL.v7.81.0+0.x86_64-w64-mingw32.tar.gz/sha512/4b15a3240152aec816e16a25778aa5f5c26e8d3fc6e1db326ff20bafe1dc1e84f665dbedbca3a12a9486768d6128c2d1f18d07f812c5b74878bfe3173f130229 -curl-7.81.0.tar.bz2/md5/f42ab772edb85374fc985ae65810439e -curl-7.81.0.tar.bz2/sha512/4889e94998cb9da3f05a70e61e7a0599a0fd3529455f5b3664ede255a834276f1d7898bd370e9b0fb21b0c0ffe4ce50c0757bb8bf896943726c538f8ead0cc41 +LibCURL.v7.83.1+1.aarch64-apple-darwin.tar.gz/md5/de0048ffcd0cf779f648c58df4d87ea9 +LibCURL.v7.83.1+1.aarch64-apple-darwin.tar.gz/sha512/874d1f83e0ff21ff8a5e39f29ca03588142e5f292a7e3bfb36f6f6f4f3e5b518b76dc8c0272a2df1167daed108b92f0e620277e6f3e2c091aa60934d18c292e4 +LibCURL.v7.83.1+1.aarch64-linux-gnu.tar.gz/md5/55bb17c62f5cf9894770bbc6e9fcce45 +LibCURL.v7.83.1+1.aarch64-linux-gnu.tar.gz/sha512/bb1e2246bb169ad7cc36749d56cf4bf6d3bd57bb9d141c5d807be5048ecc3cb3adeef95438d52c6360b5e70ba0ec75efb134c381affc812d0f5e1d8e76ff9884 +LibCURL.v7.83.1+1.aarch64-linux-musl.tar.gz/md5/52ce54a88113140c7f7c57895054d68c +LibCURL.v7.83.1+1.aarch64-linux-musl.tar.gz/sha512/dbd385d28ba6cf9e7c0ca05e9b10bafc041320c307ea7571bb972ae90b71a29ffa50d7c934d358c9e35cb168d3a378589cf0de66d5f13fe69da8a44ba1712284 +LibCURL.v7.83.1+1.armv6l-linux-gnueabihf.tar.gz/md5/68150dd7d41938065f444a1fc162d8d0 +LibCURL.v7.83.1+1.armv6l-linux-gnueabihf.tar.gz/sha512/0d8eccd3fc30160899789b91ff12ae08d97f48c08c25dcbcf737ceb9a9388fb082b7abac53da6e4711f9a5ff40700ac735d748f13895ea5205f919449182711b +LibCURL.v7.83.1+1.armv6l-linux-musleabihf.tar.gz/md5/963de5f46421087fc4f0c0e3674d6a5b +LibCURL.v7.83.1+1.armv6l-linux-musleabihf.tar.gz/sha512/a9b491384a19d4cb26ab48a09dff8e58989b0e2ba8f143a0740daa582ddcf4a29c21216045baaeec5d121922a2dc38e9072174aa8f5deaf2d38ea1997a1c6ba5 +LibCURL.v7.83.1+1.armv7l-linux-gnueabihf.tar.gz/md5/b64791ed06518e53d5e0bc713bf82af4 +LibCURL.v7.83.1+1.armv7l-linux-gnueabihf.tar.gz/sha512/30dcbbb3f944da18a9764728850fe24ba7612d11fe0b81f6c56e7735479128b0a55bd43d29cb326db20dc8f1fc9a1407bb7f54da1526d5fa182ab223e11377d0 +LibCURL.v7.83.1+1.armv7l-linux-musleabihf.tar.gz/md5/fc64fc8de930b1f2deee6910706da54e +LibCURL.v7.83.1+1.armv7l-linux-musleabihf.tar.gz/sha512/04e9cfdf55403ce2c7077356f05a98fe6a94772b5846ceff0cc81f0ebac95df85e259ecf4ded2baa369f55580892d083c74460e436a33c0286a797db60497558 +LibCURL.v7.83.1+1.i686-linux-gnu.tar.gz/md5/44a4f66754105b24102135fe62691aab +LibCURL.v7.83.1+1.i686-linux-gnu.tar.gz/sha512/9200ec12725fbf93039e534625f8cb14607be820df27ac4bcabcf8332f2e5214604b6c1efd6f4d1ae6c554b8cdd0808a1dda0f9e1fba7764484c0b00e351db7b +LibCURL.v7.83.1+1.i686-linux-musl.tar.gz/md5/bf0a521a03bb216430e66d29e9bd597e +LibCURL.v7.83.1+1.i686-linux-musl.tar.gz/sha512/ef549d533d1a1d40a0e10ec68611f586878fd3a218a9d388ae3328e4fad3dc613ed700671bbbd1f62554555073a7ab224c122fb31e7bcc6c751a7d0ce6fba9f6 +LibCURL.v7.83.1+1.i686-w64-mingw32.tar.gz/md5/c48af4c27cecbc38694cce627412eceb +LibCURL.v7.83.1+1.i686-w64-mingw32.tar.gz/sha512/9dbdbc8cbeafa913debfeed88b0514355fec89a48945716a43baae94e9855cb84cb9ba794cd022958636858a5be9f671f92a40ad3cd3b5145245c94cb26112d7 +LibCURL.v7.83.1+1.powerpc64le-linux-gnu.tar.gz/md5/50256b715d014ef9a2b328668a71a5dd +LibCURL.v7.83.1+1.powerpc64le-linux-gnu.tar.gz/sha512/730eef536baa0be00fc9f1e87f82fb84a051141bab277f11873e7e2fdaeced3964e9a0e4343504e1cb7b89fbf92df8890fa33eaed9b3c6555171c8a8adbf9dcf +LibCURL.v7.83.1+1.x86_64-apple-darwin.tar.gz/md5/367d7944167a83ff2a8d4982c8504e47 +LibCURL.v7.83.1+1.x86_64-apple-darwin.tar.gz/sha512/591f268ecbb0f5c43266876e9e0f33235b5c2e96aae4386d22c50785a4466e4b3f14e5b48117f1751733492c4ccc54638bfcf10c904d12145db7881e07778a23 +LibCURL.v7.83.1+1.x86_64-linux-gnu.tar.gz/md5/57bf4c88945b3f83e336754b075b35f7 +LibCURL.v7.83.1+1.x86_64-linux-gnu.tar.gz/sha512/71984f5240c5962422cf69069b3f0d0529a64c9ccb9995b9f26742a19dc12ae9700e888fe8b79b17edfcaa1b13b24a56b4d776453d83cce233dfa9c3fdb79660 +LibCURL.v7.83.1+1.x86_64-linux-musl.tar.gz/md5/64f3026a24b6a7df77e8325a108e76db +LibCURL.v7.83.1+1.x86_64-linux-musl.tar.gz/sha512/bf0c16b90b7b6ef33ed7d4678df539f88d041f5a78942ca5549d9d0e7ce8cef38af8da1f68d9d3999f969805dd1da546da3d289b32dad442ec1b2b5e44d158cb +LibCURL.v7.83.1+1.x86_64-unknown-freebsd.tar.gz/md5/578ba7e5607ce2de16132ab8f7a213d9 +LibCURL.v7.83.1+1.x86_64-unknown-freebsd.tar.gz/sha512/42c5892038aaedbbb19e192fc867e00d354da7cdf11c90151124f3c9006883960107663eaa865ee482895ee5784b5c5f487ea8aeef2a8ebbbe51f59d693e0778 +LibCURL.v7.83.1+1.x86_64-w64-mingw32.tar.gz/md5/5e5bb662234dd4520f4e4f73f8536daa +LibCURL.v7.83.1+1.x86_64-w64-mingw32.tar.gz/sha512/4553dc10d464771166b8a53473e68a23baa6fb8f65f09a5a274826d313dafc3289348e0e8026abcec6fea98e461aca31001176387526afcf3966167b71ec2178 +curl-7.83.1.tar.bz2/md5/08626822d50cbef47503f220718b920b +curl-7.83.1.tar.bz2/sha512/c43ec2da9c8609a312f723c0b3eff7e171ed1258c6ed1af16020190d4253e6bea63ca3905f04d0ca46a97986a8bb79be1d532f8d68fcbdbacfa80cc42f134db1 diff --git a/deps/checksums/llvm b/deps/checksums/llvm index 6cb85ecdc0d3b..d1dfdc0d7f2a5 100644 --- a/deps/checksums/llvm +++ b/deps/checksums/llvm @@ -1,234 +1,268 @@ -LLVM.v13.0.1+0.aarch64-apple-darwin.tar.gz/md5/de198200e72a0176aeb383bdc916b472 -LLVM.v13.0.1+0.aarch64-apple-darwin.tar.gz/sha512/84e5472df5a89821baa7c7f5f787d576a4fb312738da194af3d79dda916c5f69bcff05e693d76f15e00af6c6832a26e01933fb0c33b57225dca5a048869c9ea8 -LLVM.v13.0.1+0.aarch64-linux-gnu-cxx03.tar.gz/md5/ad3571e776e2fdc16d7ea54b236929b4 -LLVM.v13.0.1+0.aarch64-linux-gnu-cxx03.tar.gz/sha512/f9ceb4c1389301fd8d85bebf966f9482fcea31a5767fd2dc89c460f4404549ae9df68ac1d52e0948c75910665b857090d62ca53e84a09cc191ca265f460f2975 -LLVM.v13.0.1+0.aarch64-linux-gnu-cxx11.tar.gz/md5/27ce9c71e0c41e1f72e54b7a4c6f4826 -LLVM.v13.0.1+0.aarch64-linux-gnu-cxx11.tar.gz/sha512/941de4e99e24ea33944a3e93fc4c486b9adb9c721a641656803996785138eff9dff929ee4b3261dd57916086da3ee2dc7489a255c44ed8d2f0a1d2a915bf875c -LLVM.v13.0.1+0.aarch64-linux-musl-cxx03.tar.gz/md5/e4a26e2ffd866a29d276f20565a0e76d -LLVM.v13.0.1+0.aarch64-linux-musl-cxx03.tar.gz/sha512/0c5c7b8641a02c53ce24d40183638986651e644e423fe43b58f3657a6dd21f294c43dcca588dd04c044d65745f8d493f1353cfd168be0cb4f5b68f63df921468 -LLVM.v13.0.1+0.aarch64-linux-musl-cxx11.tar.gz/md5/ff6fe3eb7392178db4fe8fa65a61dd7b -LLVM.v13.0.1+0.aarch64-linux-musl-cxx11.tar.gz/sha512/1e69c89cb616d9ea9b2f6a863f44d0fa83e2e181f8de66dc478faf3881a06d8b6a81a032607064a952b37b1ee5d25df06105ba4d2758e2da3698e7394ab69a7d -LLVM.v13.0.1+0.armv6l-linux-gnueabihf-cxx03.tar.gz/md5/a0498659a1f2e896762421cb4f6d2a9f -LLVM.v13.0.1+0.armv6l-linux-gnueabihf-cxx03.tar.gz/sha512/8811f7ad799f0a31191eb7d8dc3e13fae3b47b1372aef99e02b3477e3e75de87da6d7dc3a8f7972ffa5ebbef4c58846d57981021b944ef8a7b303083322559d9 -LLVM.v13.0.1+0.armv6l-linux-gnueabihf-cxx11.tar.gz/md5/2f5ecc129ff7d58eaf224c703973c157 -LLVM.v13.0.1+0.armv6l-linux-gnueabihf-cxx11.tar.gz/sha512/562d16c8b9de1489d655c1a3faf58b44a69b195b5d97fbbb3b60baf886a357ffff232c0ed1daded6b5aa1b635615aa3d9de497c7e87b081ba83d2c408507acf9 -LLVM.v13.0.1+0.armv6l-linux-musleabihf-cxx03.tar.gz/md5/9308ce36b9b3f9f23719b8ec4c7eed0d -LLVM.v13.0.1+0.armv6l-linux-musleabihf-cxx03.tar.gz/sha512/01330f93f15fa56b5485c0444e2c6aad82df61170579499b0a1b586871ab05a783651cd903043c39bdd955c8036e8511fd33fd541358210bd3d801b21d31750a -LLVM.v13.0.1+0.armv6l-linux-musleabihf-cxx11.tar.gz/md5/9e60c460dcc29228d137f13d3c04798f -LLVM.v13.0.1+0.armv6l-linux-musleabihf-cxx11.tar.gz/sha512/0bbac99fcd2b7e6fb958c1966ecd135898666b313938b8fec13154fb16069ec2dac06f19626a6cbad973a967ea99bcfe7c21930486715af0a666cb850ccc7ec4 -LLVM.v13.0.1+0.armv7l-linux-gnueabihf-cxx03.tar.gz/md5/b4aacd37b274cd86f0d74150a6481e80 -LLVM.v13.0.1+0.armv7l-linux-gnueabihf-cxx03.tar.gz/sha512/fd7cc8368fdf27805155e25c94f099b65e01d0b3edddfc3934e81da84e480801967960bdef4ef68e5cfa325f5445cda6f3e1ab9d60729e86f4aaa39c20729af8 -LLVM.v13.0.1+0.armv7l-linux-gnueabihf-cxx11.tar.gz/md5/ed180a5375b1198dfd58bb1de07db4fa -LLVM.v13.0.1+0.armv7l-linux-gnueabihf-cxx11.tar.gz/sha512/09077792ea1eb299bc5215ecc7904098467dec48f1f3cab532ec673bfcd9711120e77744440d5a28a1496b50490d3f551b4d8e14958396964d40991adaf8252c -LLVM.v13.0.1+0.armv7l-linux-musleabihf-cxx03.tar.gz/md5/53503aca7737a92abff745a3ad23f270 -LLVM.v13.0.1+0.armv7l-linux-musleabihf-cxx03.tar.gz/sha512/12d388a6b5dfd45f8c0fe29453f49cc17bd1ea54ba281b92cf84d8698b03c9204feefab79245e7d9e8063a311b96679f849456366064b021f86c284417c43d71 -LLVM.v13.0.1+0.armv7l-linux-musleabihf-cxx11.tar.gz/md5/f9f002f64d325fade65076f5912377ab -LLVM.v13.0.1+0.armv7l-linux-musleabihf-cxx11.tar.gz/sha512/c87ce1742babd909ed4faa66aef71301d9da48c01fe772e8775af7b5b41f49ba3f24b0f8e26694ba93a8c2f14fdda698a157bdb3d95bd114e2bc90dd85acb340 -LLVM.v13.0.1+0.i686-linux-gnu-cxx03.tar.gz/md5/39e654c42cf3b5a4a752e46566b8b9fa -LLVM.v13.0.1+0.i686-linux-gnu-cxx03.tar.gz/sha512/4fc6e48cae0e33843b875dcc39fc2b860380cd6ad6f9214367827049b29e2db85593544866107bc8950ea844be09671092ef133aa764dab48119105332b932bd -LLVM.v13.0.1+0.i686-linux-gnu-cxx11.tar.gz/md5/a5928523eff8a9fd2ef66012eb3ab556 -LLVM.v13.0.1+0.i686-linux-gnu-cxx11.tar.gz/sha512/2595eb66b23fb9013f866578a829e07c4144996ae660a7448c196255aec43e6959caef2bd074db0690d91e0a39275b09c935d634855eb69613ae834426844f7c -LLVM.v13.0.1+0.i686-linux-musl-cxx03.tar.gz/md5/47d3b87788b3269da6aea81069ea13dc -LLVM.v13.0.1+0.i686-linux-musl-cxx03.tar.gz/sha512/0721c1440daaeecc95beec69e7493dca098d619ad27125df51429704f3d463fa8ab86685f9f486378a028a99b445705dd052d9cfa9c1e729ff80fc2e1b46d508 -LLVM.v13.0.1+0.i686-linux-musl-cxx11.tar.gz/md5/0604eae4ea2d2dc715924976d006b026 -LLVM.v13.0.1+0.i686-linux-musl-cxx11.tar.gz/sha512/6ba0acc9f08d1308c07ceb587e9bcc3de3d167a133d053326eb24d0660d18b52c789a8dd86612b85c894c9faa5d4fe6b9dc65bba1c8ffe649999b8458348dd19 -LLVM.v13.0.1+0.i686-w64-mingw32-cxx03.tar.gz/md5/7879e8a03f4db12585ad2f8545fe5e06 -LLVM.v13.0.1+0.i686-w64-mingw32-cxx03.tar.gz/sha512/e0d23395b0962870df1c13edf4aa67bb2ac9372ede4160e7347fb94a47d90e76e738a2224b82a604926a8fd4a3f685935be0d9c0e4697b4c5ed53183ae5e9bf6 -LLVM.v13.0.1+0.i686-w64-mingw32-cxx11.tar.gz/md5/fac7f70937406d1c06d84cee96f61a61 -LLVM.v13.0.1+0.i686-w64-mingw32-cxx11.tar.gz/sha512/5b987b3a3b4ae677dfc11f9dad75a5db0f4affd6447061f0996fe81d978760f9553c9f7a89a1a229ecacb6a159b9e7728da2c7bcdb49c8a2fdd4b1498d117e6a -LLVM.v13.0.1+0.powerpc64le-linux-gnu-cxx03.tar.gz/md5/8852de922ee08484018d8b8f4a4459f7 -LLVM.v13.0.1+0.powerpc64le-linux-gnu-cxx03.tar.gz/sha512/17412ebd9e63f370eee499e883fa0da0fa05a3ccb6ee3149648b4e55241166d2f5b34d759b23d654ff58b0167ace2cbe10329bcf984cc84b7c7690b6528063b9 -LLVM.v13.0.1+0.powerpc64le-linux-gnu-cxx11.tar.gz/md5/c172ee499e60fe6e22dcb135854d9f39 -LLVM.v13.0.1+0.powerpc64le-linux-gnu-cxx11.tar.gz/sha512/79773c87795f5251095473d5797a0fbc7a4a4e7eeea45eadccbe01f62eacbba0b6159370675088907297b91e020be2bf1339c211682f7525c03c1033b91178c9 -LLVM.v13.0.1+0.x86_64-apple-darwin.tar.gz/md5/730d568f05aad99f6eb596d623c18763 -LLVM.v13.0.1+0.x86_64-apple-darwin.tar.gz/sha512/fecde3420de9051f32a1753c30d83436f9ebe2e5805d2dcbddbcb10eed6d84f0b5af81d33ff05d1c34996fa3d1198f20db56d8fec302e64d85e1322893acce2a -LLVM.v13.0.1+0.x86_64-linux-gnu-cxx03.tar.gz/md5/2dcc7db78138d81c6548c59e9ad2625f -LLVM.v13.0.1+0.x86_64-linux-gnu-cxx03.tar.gz/sha512/48e18a31f149c0101f80d34e8e293078c5332194821a33c290aebd0701249a8130876752938b6af4346b1985f8c16dea575248f4e862d019c3290dd1c2570e6a -LLVM.v13.0.1+0.x86_64-linux-gnu-cxx11.tar.gz/md5/f101a354d0b9b777f4754505a0d7f677 -LLVM.v13.0.1+0.x86_64-linux-gnu-cxx11.tar.gz/sha512/f77a338d4e0c379e5958457ce5b3d1cf323c3869616a4ab6f40be3753493966a893699de9c09946f4712c6684cdf08e235cb2d33b724e87dc8a2970f677ca952 -LLVM.v13.0.1+0.x86_64-linux-musl-cxx03.tar.gz/md5/155c5015da0e2ffd94fcdf9496e855df -LLVM.v13.0.1+0.x86_64-linux-musl-cxx03.tar.gz/sha512/a1b2e1f5f8aaba0d74efb0819e39ad5ddb1740ad7955ad41c44b0a3483ee5d17db2b32f5d548200493c390cadd08dfae3f277833dd774c95c90ff989c6bf5969 -LLVM.v13.0.1+0.x86_64-linux-musl-cxx11.tar.gz/md5/d3f804be18541fa1102af46da18a743d -LLVM.v13.0.1+0.x86_64-linux-musl-cxx11.tar.gz/sha512/bb0ab78b3c03081f352bca252f2ebab3e5a47a83ee4c2dd0504543457c6f32dbe1449de97a2b5d8f970980497a77f78bebae3dcdb7d0c1c346e9df46721eb32f -LLVM.v13.0.1+0.x86_64-unknown-freebsd.tar.gz/md5/7f7de7e59d22411068a35977a6fef75d -LLVM.v13.0.1+0.x86_64-unknown-freebsd.tar.gz/sha512/29c9531e6ed6d0b5d85d58bb5122531212c39ecd10f4a78ea1eb42311f3328813fcc4d2ad2311eb5cc3030778492a6b8bc5c9b12653f1ba36f16e0a50c4e0272 -LLVM.v13.0.1+0.x86_64-w64-mingw32-cxx03.tar.gz/md5/1823541a9a6c9e9134ac7645501399f5 -LLVM.v13.0.1+0.x86_64-w64-mingw32-cxx03.tar.gz/sha512/2dbee2c1f01e5cc4f0b70c0147352ad95f0b91f5cb1efcde7ed61b54b2baa1b0bcea0b97e0c0ff6c55526e6b037f25808cf995f861ce46da56195bfe0b0e48e3 -LLVM.v13.0.1+0.x86_64-w64-mingw32-cxx11.tar.gz/md5/454453a2afb04e3c4d6cdffb37591a3d -LLVM.v13.0.1+0.x86_64-w64-mingw32-cxx11.tar.gz/sha512/21bda5f9ceb9d4030121eb9c563233bcdab5b9d1d5b0b9b0fd22cfba3d507ec59ab4c98211d0d5c2cc5ac0b0695d1fbe4707a0264fde423833cd7a461193b556 -LLVM_assert.v13.0.1+0.aarch64-apple-darwin.tar.gz/md5/edbc793469fb7c14af3c33f8584d22df -LLVM_assert.v13.0.1+0.aarch64-apple-darwin.tar.gz/sha512/a3137f2d2d4847e6db1acfc834e686379cdd80712feb3d36d616f73af473599356ade48c98a865d3c233a59d395d40114083fbd78617001b95ebe363fe12cde5 -LLVM_assert.v13.0.1+0.aarch64-linux-gnu-cxx03.tar.gz/md5/00176b5cd73dea5f9265155574c08dd5 -LLVM_assert.v13.0.1+0.aarch64-linux-gnu-cxx03.tar.gz/sha512/a911c597ebfdd66bc5e20af38e2456cd1e2be051642abf939d6290017ea4426ad6c68dd17b8f59b9e5e942dff62bc2627a7d66df0c628c100d4bc948251afc58 -LLVM_assert.v13.0.1+0.aarch64-linux-gnu-cxx11.tar.gz/md5/b494be6cdca661a43cb07e55a185cdd9 -LLVM_assert.v13.0.1+0.aarch64-linux-gnu-cxx11.tar.gz/sha512/3338abf24c2dd710d0d356e785f30d72c6a83eff5ff91a7e0113f66a213bc39f241e9886f09d41b3e5ccd56f19cc431565d391a4ae88d590a47fc5ce35b57bcb -LLVM_assert.v13.0.1+0.aarch64-linux-musl-cxx03.tar.gz/md5/8bdd207d78547f38d599010272b7beca -LLVM_assert.v13.0.1+0.aarch64-linux-musl-cxx03.tar.gz/sha512/f349ef36df2dfa76f915353f3e3e1f0a336614c89e33fd9516a604e6d72b541fd83e0862576c3d0864b518e6fa038749a9c510788f1c07148fa5924fda357e25 -LLVM_assert.v13.0.1+0.aarch64-linux-musl-cxx11.tar.gz/md5/b7659747556ff940eb0093153ad01dd6 -LLVM_assert.v13.0.1+0.aarch64-linux-musl-cxx11.tar.gz/sha512/6e0f04738beb2533cb83891c45d9f3bfc701ec1f83ed1c1e06e885c5b5bb4b51c1b6cffbc0a2cae648df1c65b01a8af378d35cd743e72ae3fdb8047774e8d54a -LLVM_assert.v13.0.1+0.armv6l-linux-gnueabihf-cxx03.tar.gz/md5/79d6bca4a7660422a43185066350f9d2 -LLVM_assert.v13.0.1+0.armv6l-linux-gnueabihf-cxx03.tar.gz/sha512/094a750a1e4f98a39e0e8a30a3a3e55e55317cab5084115ff33714db82c6645d9fa3ce0599f773930e47ef9261805a7e1bde51c1d067d07e2e844147ce180c4b -LLVM_assert.v13.0.1+0.armv6l-linux-gnueabihf-cxx11.tar.gz/md5/7790a193f05283eb60f2668ddd6e4a47 -LLVM_assert.v13.0.1+0.armv6l-linux-gnueabihf-cxx11.tar.gz/sha512/a41689262509178100866588964d5da99736c87e47f23fccaedc53128484e8f24e693858bd82ca63eecdd5af2ef627e3a37ca83df27d103affb015c93c3d2372 -LLVM_assert.v13.0.1+0.armv6l-linux-musleabihf-cxx03.tar.gz/md5/67a56a20625adfec51210d86cca998eb -LLVM_assert.v13.0.1+0.armv6l-linux-musleabihf-cxx03.tar.gz/sha512/00a950e6fc1b9447dc63fa0905088d6b8f441fd48e4a234018aa0b9fabdc3c173174fa3a22a6707bafd1f4476b3da436bf6f3a5d388095502e07ae9df4de2373 -LLVM_assert.v13.0.1+0.armv6l-linux-musleabihf-cxx11.tar.gz/md5/77377f6eed3c5393ed2af8205eef67d1 -LLVM_assert.v13.0.1+0.armv6l-linux-musleabihf-cxx11.tar.gz/sha512/edf79f368c23501883ae850fc5a293dbed4fa4b22da322af43233e55799a34887fc090f7ed3a865c73692be60484c770f754af54edffad800da35e17a9a4bf39 -LLVM_assert.v13.0.1+0.armv7l-linux-gnueabihf-cxx03.tar.gz/md5/f3df2582d0c31fa17ec40a20aab9b684 -LLVM_assert.v13.0.1+0.armv7l-linux-gnueabihf-cxx03.tar.gz/sha512/99905914383be921e9279a8f304daec4f3155bd88cf33c716f4a7967441f8ad4c544ded404c946b1f8270172a797cf17598bb8a05118da455e1ee5c24b7d7bda -LLVM_assert.v13.0.1+0.armv7l-linux-gnueabihf-cxx11.tar.gz/md5/4ff964f982c57cfd279ff101e923fdbb -LLVM_assert.v13.0.1+0.armv7l-linux-gnueabihf-cxx11.tar.gz/sha512/d13eb4378e014d6370b5dc9929c0247ce73dadcac17be446f6aa3db227c466193fa3034252f26ebe06069a6da87120ea6d41ed2087ad3f8a9d64d4c54c8c28d8 -LLVM_assert.v13.0.1+0.armv7l-linux-musleabihf-cxx03.tar.gz/md5/1324fd002337d2b69abd203bda0d9b6a -LLVM_assert.v13.0.1+0.armv7l-linux-musleabihf-cxx03.tar.gz/sha512/d0f69d9ff0f997f9c72f70060040825a11b377a3518f2060bcd4a85253b46ed2e8eec773732547dab436f1cffde5883b24e52f75d295cbf3f7096dd0d9c90173 -LLVM_assert.v13.0.1+0.armv7l-linux-musleabihf-cxx11.tar.gz/md5/313006aa96874279764a7b7c4666ea23 -LLVM_assert.v13.0.1+0.armv7l-linux-musleabihf-cxx11.tar.gz/sha512/59c4a59a7e0184643077a45b5da6c5693123d3678e010fd3ccce88761a4434c1321082e056bf16beb88131bc6a98f40515338e2faa8bf5353e448926d80213b9 -LLVM_assert.v13.0.1+0.i686-linux-gnu-cxx03.tar.gz/md5/3333f1d17d5a8fd8ad07b1ef42c50f12 -LLVM_assert.v13.0.1+0.i686-linux-gnu-cxx03.tar.gz/sha512/cc244bc19588ce041159f6b251141565b31190fd8da44bccb2bc8fb7dab4cdfb6c3aaad166e4e2ffb1796cf28296bb53f94715eeeb110f4dda0852f328fd8db5 -LLVM_assert.v13.0.1+0.i686-linux-gnu-cxx11.tar.gz/md5/8aaf25616a93aa95819b2d95de9a11b7 -LLVM_assert.v13.0.1+0.i686-linux-gnu-cxx11.tar.gz/sha512/cd0c65cf2cac76cb813eee1e87dcdfea0735a01a296a9d9483c75dd1268b1b48d8ecbbb2bb7321954503686754b78c0c0cd07c428a5722e5e3781d6323046fab -LLVM_assert.v13.0.1+0.i686-linux-musl-cxx03.tar.gz/md5/c13905bd6d398ac5369161a177687508 -LLVM_assert.v13.0.1+0.i686-linux-musl-cxx03.tar.gz/sha512/40719ed2c074a3b18b8811c0c0d204bb4c38e007daf3eb09844fd2fe59737fe850e448f4c650412ff611370f767b04b44fd02c4550ec2d120828c5577451ed7d -LLVM_assert.v13.0.1+0.i686-linux-musl-cxx11.tar.gz/md5/95944a48b2360c17e0a40cef17fee9ab -LLVM_assert.v13.0.1+0.i686-linux-musl-cxx11.tar.gz/sha512/5554935d3932744fb15feb0cba3e86aa98059e037d8c71d3413f2c986e88ec1a58b454d884ac0e0583fa612c546009a27a7287dd240058e79bdbc41f445cfb7d -LLVM_assert.v13.0.1+0.i686-w64-mingw32-cxx03.tar.gz/md5/391138eb01ed8be350669e6e22ae9fb9 -LLVM_assert.v13.0.1+0.i686-w64-mingw32-cxx03.tar.gz/sha512/5e25e8b941e60950c5889e1f51c05bc70ea3ca75ab7bc950b674cd1f93a44a7621d1dee89b6f6be6fd0d5982b6618c36e0b4b4ec443d19856fbc8f4832fee6c6 -LLVM_assert.v13.0.1+0.i686-w64-mingw32-cxx11.tar.gz/md5/22dd78fd71f93c062f090afb96529912 -LLVM_assert.v13.0.1+0.i686-w64-mingw32-cxx11.tar.gz/sha512/21f3008287015ef9d3bbbb76f6b7a320a6a4ec96ba49a126cee97648e6ce48f4dbd4df46f05c551187f3f681ed622aa2392b7c08ac060deea27f7f74ddb2d0cf -LLVM_assert.v13.0.1+0.powerpc64le-linux-gnu-cxx03.tar.gz/md5/ee9b9db47c5745d12620c6e52e7fcc6a -LLVM_assert.v13.0.1+0.powerpc64le-linux-gnu-cxx03.tar.gz/sha512/e15d831588352e6404ea766852d9479dc0d5b78f88eb4108694c4fed8b123a17cd9f4211cef31ff45f4f18274622b43f54c5928c17eddfb2f195ecd59646f5bf -LLVM_assert.v13.0.1+0.powerpc64le-linux-gnu-cxx11.tar.gz/md5/c9e22ebe1f7c7e046d142b699b0649d8 -LLVM_assert.v13.0.1+0.powerpc64le-linux-gnu-cxx11.tar.gz/sha512/72e59f38647daafa323f55f6259c9091b39df90b6736f09244e48f2cef8230b03eae689aa8a83c2f0031a9225bafa33bccb5f1badf8fb71d5a4d22efd6de9410 -LLVM_assert.v13.0.1+0.x86_64-apple-darwin.tar.gz/md5/9c5db337206c28fb567e96a0b2f18533 -LLVM_assert.v13.0.1+0.x86_64-apple-darwin.tar.gz/sha512/cc67489ec1c086640c9969eca1d8a0868840cff375775d1c60fdcfbbb84714d960549a5ec314077dec9409eb5fab5bdaecd9e6f4605c7c654a0b52f7b791ffeb -LLVM_assert.v13.0.1+0.x86_64-linux-gnu-cxx03.tar.gz/md5/a188fad8f09c3080618b6861476b9252 -LLVM_assert.v13.0.1+0.x86_64-linux-gnu-cxx03.tar.gz/sha512/2c5f95a1386b5a7f122e2af6d754173512eef72b637c9e3d1250b1bd1b1ad993a9cdadc9e71947c15e09cea308b1f30a84a2ff937fad3693b8b3c84145deeec9 -LLVM_assert.v13.0.1+0.x86_64-linux-gnu-cxx11.tar.gz/md5/d27c6edc49622f79d61face403301f13 -LLVM_assert.v13.0.1+0.x86_64-linux-gnu-cxx11.tar.gz/sha512/9b778434293bc2da965ecfa314dca1190677372a61553dc25bc6146ae1dcf553b3b71f473df9c1ff661f17fd56e75ff6715233859a5de1a91e2d1663abaaa71a -LLVM_assert.v13.0.1+0.x86_64-linux-musl-cxx03.tar.gz/md5/5c6f3e570a3c3d6af0ebcaed3139c27d -LLVM_assert.v13.0.1+0.x86_64-linux-musl-cxx03.tar.gz/sha512/1754a7dcf4a4fb9f88e9d5e451b5185ca5d72cf51a6675abe87cd059df1cd8b10388a3f90335e2a5f12864aa3baa7504299b90924439609e66eed24dc60c0965 -LLVM_assert.v13.0.1+0.x86_64-linux-musl-cxx11.tar.gz/md5/8fc7c0e358d2c98bce2dfce7f3c2f507 -LLVM_assert.v13.0.1+0.x86_64-linux-musl-cxx11.tar.gz/sha512/81f7032f5e7ed45e3d84619c18b4f588a570a3cb36f8ce9792fd41a9442ac73cccb64b4243128a07445f6b412b20048aef98a6501efdd9b526ea0e6a1c803f57 -LLVM_assert.v13.0.1+0.x86_64-unknown-freebsd.tar.gz/md5/f8c750975059dfed1633735f9dbecdf6 -LLVM_assert.v13.0.1+0.x86_64-unknown-freebsd.tar.gz/sha512/d01efc6da3de4172aa4c085a6c90d8410ca33d1dc470f1b908b5836a7873c68963fa2fcfbbe24a4a7c6ad016f869084d430e113e71e6c94a8078c46a860b3f80 -LLVM_assert.v13.0.1+0.x86_64-w64-mingw32-cxx03.tar.gz/md5/70e2d1e2e84e7f8b19be1f518949d753 -LLVM_assert.v13.0.1+0.x86_64-w64-mingw32-cxx03.tar.gz/sha512/df5caf19b914f194266dd27d05218bbf11c5d0bfc2cdc589391bb40ebacf7384f9dc691a9d882dec873c8db594c1b8c158e80c1cec60965daacbf42b6486add2 -LLVM_assert.v13.0.1+0.x86_64-w64-mingw32-cxx11.tar.gz/md5/f5c5d3f2a55d6c5bf89fd9bfe1166969 -LLVM_assert.v13.0.1+0.x86_64-w64-mingw32-cxx11.tar.gz/sha512/f97aa158391b35f4f62ba7bc2398382f16f33161384478ddb10c5d64d24ee4d64c6ce9439fa05a997521f2f1d391f8a13f4d5a8b29d14eb22c7bca121d4a10c8 -libLLVM.v13.0.1+0.aarch64-apple-darwin.tar.gz/md5/90c59343fc5a9ad5ffd6258467e6603c -libLLVM.v13.0.1+0.aarch64-apple-darwin.tar.gz/sha512/97a49af9f0e68f76a10e13813900c2ad0d4575ed31ee703ce86bc19490f6dcc282d47b5b641499fff0b949f5330e1e0e58559f84987e9230b1c5f3f33a4caf7b -libLLVM.v13.0.1+0.aarch64-linux-gnu-cxx03.tar.gz/md5/ab3c2b357634a2660820012df34414f5 -libLLVM.v13.0.1+0.aarch64-linux-gnu-cxx03.tar.gz/sha512/6038edbe7aa305dd35660592dd37fe0ad207e074126766623573be8d7b3b8a06056a626b6da210957264e74192e40bdfc0f396dc9961757dfe6dc8d85a0ad0bc -libLLVM.v13.0.1+0.aarch64-linux-gnu-cxx11.tar.gz/md5/3f1572194c43db046610d4043b7eadaf -libLLVM.v13.0.1+0.aarch64-linux-gnu-cxx11.tar.gz/sha512/d8be84d5627aa37d65bd81c2c3e0248eb053cc88ce13c38189f53e785d1df7858669045271cea40f1ea6b0516a99b8d4e01d747fe23384c4b39e69c8e509b32e -libLLVM.v13.0.1+0.aarch64-linux-musl-cxx03.tar.gz/md5/bb96b1a1ade79e3970759b137d83f350 -libLLVM.v13.0.1+0.aarch64-linux-musl-cxx03.tar.gz/sha512/80f586b763a32ed2efeec2b30c931477fea6f707388180dddbf9147129ab8e3a765ae921642fcc0b75319a5de5af80b358926604d16ab5b162453faa73521db2 -libLLVM.v13.0.1+0.aarch64-linux-musl-cxx11.tar.gz/md5/7bbc79416781ae9de6983879ba7b6566 -libLLVM.v13.0.1+0.aarch64-linux-musl-cxx11.tar.gz/sha512/db1f5ac2d3e0a44f69a19284fe91b4d06ec438f295db7564160257e10c0de010ba7d2f346277060ec93126ccf9cd2194a87a73a7ddc4141f9dfc0a6a16fd1ae0 -libLLVM.v13.0.1+0.armv6l-linux-gnueabihf-cxx03.tar.gz/md5/cd2cedf55992338a3a72d65fd317a6f2 -libLLVM.v13.0.1+0.armv6l-linux-gnueabihf-cxx03.tar.gz/sha512/979069f43f8215adc0c4d527e7341e3cb42faa287b697d4fae781bb9f321c513fcada965796033d01ffd2b8169d8e4936bff6c953a860f758f5eceaad46c8162 -libLLVM.v13.0.1+0.armv6l-linux-gnueabihf-cxx11.tar.gz/md5/5ca3a104123a63acbc05aa5c9a372db9 -libLLVM.v13.0.1+0.armv6l-linux-gnueabihf-cxx11.tar.gz/sha512/8fd77092ea76499efd78898f1179e6c37a08c6c161558986459491863344edf6a7baac7c4c8cca45c8d82269ba073b8fecc259e5bfde99f2abd5c56e87344502 -libLLVM.v13.0.1+0.armv6l-linux-musleabihf-cxx03.tar.gz/md5/4e56e434d66a5bdb3e5a34a99972270c -libLLVM.v13.0.1+0.armv6l-linux-musleabihf-cxx03.tar.gz/sha512/41f32d057c2be5f771be3ae96c4642401285a1024ce4aabf8ae3255b4557635adec1485c4afa5d57f672c1b5de57cb723f488361e54eedf65a8a43161552d5c9 -libLLVM.v13.0.1+0.armv6l-linux-musleabihf-cxx11.tar.gz/md5/037399603a44f4ffd2ff98e6b9456236 -libLLVM.v13.0.1+0.armv6l-linux-musleabihf-cxx11.tar.gz/sha512/0e01a8b286f99b98382b35905653c573776c9858465cf21d70e0d5842871aac27fd1b3da759644894e0bdc29351891edff159246cbc523e7ff0a8bcec67e852e -libLLVM.v13.0.1+0.armv7l-linux-gnueabihf-cxx03.tar.gz/md5/60e8fbacfa5c23f90ddfc4b13917c9f9 -libLLVM.v13.0.1+0.armv7l-linux-gnueabihf-cxx03.tar.gz/sha512/7125b3dbeeadb0513ea12bf8bc04f44de98da11a60dd1a1886fd5210416408cc6484ef814f5176e19338e7ba7c8a4a8aef085ebd00f2853056e549d2c6bff55a -libLLVM.v13.0.1+0.armv7l-linux-gnueabihf-cxx11.tar.gz/md5/3decd9bef6de6b3e5a306fee9f6af2a9 -libLLVM.v13.0.1+0.armv7l-linux-gnueabihf-cxx11.tar.gz/sha512/622a60f4f256a802aa9413aed830f57546f28ef7c5a4ff09c3c66736ed958a1b8fa0169de002de26ddef3ce1151fc1352235668f4da51640615339e6d7bb271a -libLLVM.v13.0.1+0.armv7l-linux-musleabihf-cxx03.tar.gz/md5/5c8370e3462987d15d0edc21c6e8af9c -libLLVM.v13.0.1+0.armv7l-linux-musleabihf-cxx03.tar.gz/sha512/eb961730e622074e0f2c05b7729a33d088cf084d2162e8a428d3f763d39b782bc5d341a60823d1b3f4fee9a03a995c0ff8251e2cfcd0fe13f8e09b60c3fe231d -libLLVM.v13.0.1+0.armv7l-linux-musleabihf-cxx11.tar.gz/md5/6e659916b90b66cec5fb1f1d424eb177 -libLLVM.v13.0.1+0.armv7l-linux-musleabihf-cxx11.tar.gz/sha512/2489c0d76d46a10479eb2197324dae1556f330848f8efbcd545e155d871652ea0692fae2063665f3bfe02ab165567ae5d7dbeabf287fd38e180141ed9714f29f -libLLVM.v13.0.1+0.i686-linux-gnu-cxx03.tar.gz/md5/569dbeb437cb438636244ffa0248f2f9 -libLLVM.v13.0.1+0.i686-linux-gnu-cxx03.tar.gz/sha512/6dc44b2458dcbd59d695f20d4786a39a92d7affd2cfd8e25536f0fcf46489930c7315887e2f611d0b9f27ac04ea1bfc1ffc9b770dcb8328cfcccc8f419705466 -libLLVM.v13.0.1+0.i686-linux-gnu-cxx11.tar.gz/md5/2e9e078ca524ecf96a801f3361e47798 -libLLVM.v13.0.1+0.i686-linux-gnu-cxx11.tar.gz/sha512/5833103547bea7614447ad27e7bfae7f7fa4e3bf6bfe49301d57974f50de26c8c43747aff60504cf923958b53189030b4016b8d381244f92be8a3cde82147a42 -libLLVM.v13.0.1+0.i686-linux-musl-cxx03.tar.gz/md5/babec2df18c459f4bd068c711e4f3fcf -libLLVM.v13.0.1+0.i686-linux-musl-cxx03.tar.gz/sha512/c3660a02a8215a0becb17d6e2ec2317e65d3c312172048ab6d867de11b3c618f4d31e8f215b349a049130fcfbe7b59f018e12c89138a1965704a84a403b3995c -libLLVM.v13.0.1+0.i686-linux-musl-cxx11.tar.gz/md5/3aa2b9f877a34a8ba83fd03f9aff59ea -libLLVM.v13.0.1+0.i686-linux-musl-cxx11.tar.gz/sha512/1e02a817fef96628ee4ab2ed62bcd49156d7df5a61463420e0e8d9c208d242994d09d6999d6ff223b46de516b8b3bc3448d2807dee422128d729f44594dbaf91 -libLLVM.v13.0.1+0.i686-w64-mingw32-cxx03.tar.gz/md5/767865e3ed6fdc200ac9b6ae569d7fc4 -libLLVM.v13.0.1+0.i686-w64-mingw32-cxx03.tar.gz/sha512/034904561e6715b8ee1b5d9f5d3669f3765cec05357e21de0e1b875346b8dfc199e545d87747f1676cf16329f4122b4e574eaf4bb91573b9893ff72dc7a0b33b -libLLVM.v13.0.1+0.i686-w64-mingw32-cxx11.tar.gz/md5/be8fcb1eceeb0b0b1064bfd1459c440c -libLLVM.v13.0.1+0.i686-w64-mingw32-cxx11.tar.gz/sha512/1b8011e432fd570a34a90bb449082ca086a311159b3b699a9a176e9f7dfa916bfb58e06f82a4f1e40c7896d1781acfed40eff77d447070186f193f2605a2521a -libLLVM.v13.0.1+0.powerpc64le-linux-gnu-cxx03.tar.gz/md5/bd14e02f94880856d9cbdc531bbc2d9a -libLLVM.v13.0.1+0.powerpc64le-linux-gnu-cxx03.tar.gz/sha512/4fd86b2562e96ccf8327c4791be34a1c03be7f96382626201076104e3cf04226e76fcb628f36e977487f8c4a717f4e25626713f8e2967b42a335a4cfa8836909 -libLLVM.v13.0.1+0.powerpc64le-linux-gnu-cxx11.tar.gz/md5/2da035de66d4e2af430b21c5ff04c8f9 -libLLVM.v13.0.1+0.powerpc64le-linux-gnu-cxx11.tar.gz/sha512/d86ed30cc3e3a42058436059f8aaa74b910ebe8ed8df65add637214e21118173f7863e834c7fc87f71b9d7014643fc129363f97e5e8e4e9694da6b31e9e21970 -libLLVM.v13.0.1+0.x86_64-apple-darwin.tar.gz/md5/513383b4044ac84dcde32afee478c1a7 -libLLVM.v13.0.1+0.x86_64-apple-darwin.tar.gz/sha512/552b09934c77bc5d44057c6a47fc5af413a5ce636a6f79308a8a304a4f5ef6d9714147d7babb9c0fe207d7526086834583cd77cb2ed3cdbce07978d4e1f2be3a -libLLVM.v13.0.1+0.x86_64-linux-gnu-cxx03.tar.gz/md5/732f0349aa40bb2b81ea78bfe0c41f96 -libLLVM.v13.0.1+0.x86_64-linux-gnu-cxx03.tar.gz/sha512/8ae7d1c7b38dee47a9e8758a11c27da897cac1ba0766a300018b72dd5263299bce61fd93ed58f95b6d3afcb70be091503d78613a346e6e1bfda2261af35da895 -libLLVM.v13.0.1+0.x86_64-linux-gnu-cxx11.tar.gz/md5/07ef28642d4d8e1fb0557937f55e2106 -libLLVM.v13.0.1+0.x86_64-linux-gnu-cxx11.tar.gz/sha512/aeae745dccdc86d3af6c2332d26f152683f2b9bcca4942de880096e6d4e55457bb5bf75d51095db57dbf44e222876bd88292d9aeb06f5037c4d2752593a30c79 -libLLVM.v13.0.1+0.x86_64-linux-musl-cxx03.tar.gz/md5/db6f67a674141e999fc113a3a016fcac -libLLVM.v13.0.1+0.x86_64-linux-musl-cxx03.tar.gz/sha512/f64558e48b04f36386c1a908ed08d8975f385e4449a98b3fad3068fab760956a15c77af0f1bfe9443781779b3856c87aa537062abe608b2b33eea8a26f8a0d72 -libLLVM.v13.0.1+0.x86_64-linux-musl-cxx11.tar.gz/md5/d0ab18c49c5bac39ba7e42f034d73ed7 -libLLVM.v13.0.1+0.x86_64-linux-musl-cxx11.tar.gz/sha512/8b012d61d7040a14feffc81346fae3034905f45f04ecf67ad63f589097a2f66f15bce573627145a4c20e9b96fb742773c31ae628c5ff9ac0b80b212d4180973d -libLLVM.v13.0.1+0.x86_64-unknown-freebsd.tar.gz/md5/ea4034d5e3168a88b2ec93ce19ef4368 -libLLVM.v13.0.1+0.x86_64-unknown-freebsd.tar.gz/sha512/c88d998522b35159589dd153fbdd4d0fe318af5b7bd21ccb76993315e7cb88237b86c0b1d3926112b82de6c1a01a568db3e4e7ab782b377169a9b4ce16362859 -libLLVM.v13.0.1+0.x86_64-w64-mingw32-cxx03.tar.gz/md5/3abb0ab78813dde21bdac01c2abe0f56 -libLLVM.v13.0.1+0.x86_64-w64-mingw32-cxx03.tar.gz/sha512/f0e9f8f5b51bd88a3bc44a31cfd17ee5fee5693e58335e15e75a02edb633eccb20b4b550272f62fb94accf0601c0ffeda90b651386d5f4533f53efcaa737b62a -libLLVM.v13.0.1+0.x86_64-w64-mingw32-cxx11.tar.gz/md5/6cd7c931f078cd4e7fdaa7100f849fdc -libLLVM.v13.0.1+0.x86_64-w64-mingw32-cxx11.tar.gz/sha512/5d1627125bc08887a6115d90e9fc82b489e1181508b949dae5d4bae556cae6de21d2db7a70f72f28af79db9b3e24e410f36edf7e1b8e6bbeb58f88c579739f12 -libLLVM_assert.v13.0.1+0.aarch64-apple-darwin.tar.gz/md5/106b3e9243647066dea672db53433830 -libLLVM_assert.v13.0.1+0.aarch64-apple-darwin.tar.gz/sha512/443fcf037bf415e8fc80ba54549d7562cdcff4a8b9f3904f7f9340dbca2c2f696812205d65dcd243a0272858e33ff5990eac25b67dfafd4bb43432cbe7894c8e -libLLVM_assert.v13.0.1+0.aarch64-linux-gnu-cxx03.tar.gz/md5/96a08126d18c388cbf465823180e50d0 -libLLVM_assert.v13.0.1+0.aarch64-linux-gnu-cxx03.tar.gz/sha512/764cd65e04e3366eaa8b37464e446494d7da51fefbdb036ce1694d8e2ac690464a12c4f02e8e0001f513fd96df3387bf947d786309faa3c2ca105f2a962cc703 -libLLVM_assert.v13.0.1+0.aarch64-linux-gnu-cxx11.tar.gz/md5/f0cd12f061e008b0fffc8f5a0e59f694 -libLLVM_assert.v13.0.1+0.aarch64-linux-gnu-cxx11.tar.gz/sha512/e16a9ed2da79448297f89a0e1d85f9c482aa9f181b5b1e10b00f8f8411f46fde85b0ff6c1b5fded0c1ca05f22d578b9f1fc3b57d2f2e51adbfbabf0bc36eeca2 -libLLVM_assert.v13.0.1+0.aarch64-linux-musl-cxx03.tar.gz/md5/2cb2998d7da32b8b0ca5086c1b1c65fb -libLLVM_assert.v13.0.1+0.aarch64-linux-musl-cxx03.tar.gz/sha512/cec31970c67541ff979bd94780f5369c72a63576eeaa2803598ad453e72c273f238eff492410b38c372a616e992ab02b229232e5e23eba0d15a0a61a23f179ff -libLLVM_assert.v13.0.1+0.aarch64-linux-musl-cxx11.tar.gz/md5/3541fd14098d5d673a75b39d1171842a -libLLVM_assert.v13.0.1+0.aarch64-linux-musl-cxx11.tar.gz/sha512/6320d5e3b8b3b4839e90ae66c0d5639816de9bb74e463125ad05566ca394733bc83fea9a4bc49366a0ee6e31c83acbd5408d388cfd957b6918b4986d639f104c -libLLVM_assert.v13.0.1+0.armv6l-linux-gnueabihf-cxx03.tar.gz/md5/11b71aa8a64a8580dd297a72c6b44303 -libLLVM_assert.v13.0.1+0.armv6l-linux-gnueabihf-cxx03.tar.gz/sha512/4468015d50d8cae071b7abcae525e2e2c05eb6cbaa138ab59c9c2092b4cd3c9616a0b22a222accb0c9d0564e975587e638afa892d1cd480a2f5db7295bf510ea -libLLVM_assert.v13.0.1+0.armv6l-linux-gnueabihf-cxx11.tar.gz/md5/106a99c91928b5dcf7f214bf9f0a0b9f -libLLVM_assert.v13.0.1+0.armv6l-linux-gnueabihf-cxx11.tar.gz/sha512/94da8219ad4cf7c1155bea4878d6b6306487e9bcd7e3cd4a5f88f0106dd60fe8a5b89edf62f6db6fafdaca728b0195bc0032c3a404119930c7b5e0c7443d20c9 -libLLVM_assert.v13.0.1+0.armv6l-linux-musleabihf-cxx03.tar.gz/md5/f9a037108728810c78636e9ca5bdfd7f -libLLVM_assert.v13.0.1+0.armv6l-linux-musleabihf-cxx03.tar.gz/sha512/2d04f17e72f505ad908433d3ee9781480bb90ea78a405c892c02f4af899a0bcaec9b8c6e8e1554aaf4241912532db59cb1719edd328edf6a75f65393a1db32b6 -libLLVM_assert.v13.0.1+0.armv6l-linux-musleabihf-cxx11.tar.gz/md5/6e0d147ccab5f63b61b330d6e4e261f2 -libLLVM_assert.v13.0.1+0.armv6l-linux-musleabihf-cxx11.tar.gz/sha512/43aece34e5be174628e7e645d163a442e379f10bca6988f768d3f45e2f449b0262e3a789cb71dde5431c7fea4305bffed591009c467a902bd5e079c9e0797035 -libLLVM_assert.v13.0.1+0.armv7l-linux-gnueabihf-cxx03.tar.gz/md5/ffff6ccd75cb9e9cc59e0fef9133efd7 -libLLVM_assert.v13.0.1+0.armv7l-linux-gnueabihf-cxx03.tar.gz/sha512/8d7201223badb90ac932e31f63b46af7bf004af32f1316e2552d7646ebd65fc69bf3d267ede2502f743f0d41e567d1448a1550c942d223e218678bbaba3d39da -libLLVM_assert.v13.0.1+0.armv7l-linux-gnueabihf-cxx11.tar.gz/md5/ec045bb81ffd9d9a4fa34990018e4c8d -libLLVM_assert.v13.0.1+0.armv7l-linux-gnueabihf-cxx11.tar.gz/sha512/bcdfb4bca9088bb6d02755fb50e6531a4c7414123810e75d13ed1f71a85aef709a8164110e5d21769578ff6a43b659476bcf274d3df721f9c49183f7e3683169 -libLLVM_assert.v13.0.1+0.armv7l-linux-musleabihf-cxx03.tar.gz/md5/92d538e671e3bce0619181499198d6bf -libLLVM_assert.v13.0.1+0.armv7l-linux-musleabihf-cxx03.tar.gz/sha512/8ef2004e7cf30327ea6ab91cf89e5bde22a378439870811969b79199ca9ddfa5825b92241cfc8e606b893c17da2a6dda665ed6dc09c34ccb95e8e3a843bcf059 -libLLVM_assert.v13.0.1+0.armv7l-linux-musleabihf-cxx11.tar.gz/md5/988828fe05b1564f43218978438b6395 -libLLVM_assert.v13.0.1+0.armv7l-linux-musleabihf-cxx11.tar.gz/sha512/97aa19516ada176a689118f27c6be1423316bc4f047812e1b8c0a4037b227fa20b0398e63ff764de0b75174d6fc41c656854de201121845ea66917551003526f -libLLVM_assert.v13.0.1+0.i686-linux-gnu-cxx03.tar.gz/md5/38434f9d60b437c3ca3216696f194e8f -libLLVM_assert.v13.0.1+0.i686-linux-gnu-cxx03.tar.gz/sha512/dcc7f39f46268883a6890d70bcab0efb5c9b752ed724d0a1ec0379da0d090599db47d82d0ddd9e8acae0a351df4caee2cd0f7283e84439b702788e2d4f3a9588 -libLLVM_assert.v13.0.1+0.i686-linux-gnu-cxx11.tar.gz/md5/7fbe5817d732c50a59736d4c048effd5 -libLLVM_assert.v13.0.1+0.i686-linux-gnu-cxx11.tar.gz/sha512/aeb7090365053c653273e0d592485c7bfba1e63f758ecf57545261540ee045df9fb2b58b91658cd087e78d15f3fb8ecfd280b64ab8af8f04dd7589085d8e1ddb -libLLVM_assert.v13.0.1+0.i686-linux-musl-cxx03.tar.gz/md5/7cbb0d59fec17b98b633f47b7eeb80e6 -libLLVM_assert.v13.0.1+0.i686-linux-musl-cxx03.tar.gz/sha512/2579ebd9b9b50fdbf9f3b38c0c2ca22312bdf6712a0d3c6c51058691107cb05dba9e5f4d5b27acd165f74258eb493d1680a320ed4c821943efcd2f600f68e44f -libLLVM_assert.v13.0.1+0.i686-linux-musl-cxx11.tar.gz/md5/354dc055ea15b8e4c866fbe439b3ec83 -libLLVM_assert.v13.0.1+0.i686-linux-musl-cxx11.tar.gz/sha512/2ef407435ad00d605c28b255eafc0b748d26a868e58a4508431a427b4aedb5c4182268d95dafda000f3ee190ce0b2d32a488641a627834b6b3ce22c171b039bc -libLLVM_assert.v13.0.1+0.i686-w64-mingw32-cxx03.tar.gz/md5/27f88f260b1175132be84d00834ec825 -libLLVM_assert.v13.0.1+0.i686-w64-mingw32-cxx03.tar.gz/sha512/b904c91bca86286db662b4889dd4815a87482aeb20c49ac0e59f6adda4524a8f6385277f9aee24197aa1539096baa7445ff3caa6110432b0861966872234868c -libLLVM_assert.v13.0.1+0.i686-w64-mingw32-cxx11.tar.gz/md5/0e1e5267c63088088065a69846fac5f3 -libLLVM_assert.v13.0.1+0.i686-w64-mingw32-cxx11.tar.gz/sha512/ecce393ce899991f7eec3ca07887306bb002bd54270f0ccf3f8e93318024b9ea8024c8151e639c71d719c956bfbd3ed5c38c0b52f1cec40ea893d2da7b6172d3 -libLLVM_assert.v13.0.1+0.powerpc64le-linux-gnu-cxx03.tar.gz/md5/090a448043257587a7b9001162b0d982 -libLLVM_assert.v13.0.1+0.powerpc64le-linux-gnu-cxx03.tar.gz/sha512/67e5bdaa89ad657f98bbe9012b06e89a6ee30306afcd09ab46e518d7b552bcef47fc37cf166259bffdf98cfa4d7b1cd7e04851de1fe3a16507f7b354067c1393 -libLLVM_assert.v13.0.1+0.powerpc64le-linux-gnu-cxx11.tar.gz/md5/5eaa7afa170aa19b9f31183c47d82354 -libLLVM_assert.v13.0.1+0.powerpc64le-linux-gnu-cxx11.tar.gz/sha512/147f5a6ab233b42277e42ebab197616a6a0b0a265128fbd619b20bdf1b2af6e0ad524c990e31a5836dcdb2c0c500657021f974d91de7e8b02a761ffd29bec624 -libLLVM_assert.v13.0.1+0.x86_64-apple-darwin.tar.gz/md5/90f43cb235a3525ade4e250be1a0a7f6 -libLLVM_assert.v13.0.1+0.x86_64-apple-darwin.tar.gz/sha512/9ea0b79a16b4697276915c7dac9dc4a426213f48e4c1e1db2705c5810aa3b17ecbd9dde2ca562b472be65f7063d85e239d4948b9743407c095c910e97ae24bf6 -libLLVM_assert.v13.0.1+0.x86_64-linux-gnu-cxx03.tar.gz/md5/12d3dde26ccf6aa21fc13a2dd9aa3768 -libLLVM_assert.v13.0.1+0.x86_64-linux-gnu-cxx03.tar.gz/sha512/b8b362345fb550b8af61d851d9918413ff23f1f7b78b7817f103384af110dca3383d4c8067a56748cb97fca7d1f75957b0dd2ce323d61a56cb9a266a378361b9 -libLLVM_assert.v13.0.1+0.x86_64-linux-gnu-cxx11.tar.gz/md5/d1673dae2652f131c6ebee2ba257f629 -libLLVM_assert.v13.0.1+0.x86_64-linux-gnu-cxx11.tar.gz/sha512/47a7f634256a3df1f7ff56875ce969a550b217cfc897e9796b60fc4c45d7c4b1a22ba56a33cb7932ec40c0e987d407678234716447ef51123c5060c713a61948 -libLLVM_assert.v13.0.1+0.x86_64-linux-musl-cxx03.tar.gz/md5/6454e1cf23e77ced847cd623995a234c -libLLVM_assert.v13.0.1+0.x86_64-linux-musl-cxx03.tar.gz/sha512/30ce182636afcdccf265ffec468c9954434d3f0a135878cb55698799cb829c138e828a28b0493d8226d80a36d00250be0c0dae083efcd63b0e939f5fb75b1f6e -libLLVM_assert.v13.0.1+0.x86_64-linux-musl-cxx11.tar.gz/md5/cd24ac0e5a37b5db288b265a90f5fe9f -libLLVM_assert.v13.0.1+0.x86_64-linux-musl-cxx11.tar.gz/sha512/d90aa1a0e4edb57e2a940d63ae28e198c1e515e7892008f1b04289828be466662aa38596c02884dd787798c04d00ff6314f884be5a859287f840d18f79ac8c3c -libLLVM_assert.v13.0.1+0.x86_64-unknown-freebsd.tar.gz/md5/7164700b24a94828b17abf8aa2e44477 -libLLVM_assert.v13.0.1+0.x86_64-unknown-freebsd.tar.gz/sha512/5ba54ec75cde0df60253efe694963b7a2eadff5f23028b2cb8ba612530acfc148cfe738d2d2e65bf9dcc419aa9998bd8544e7852167300ffdcebecfd0ac6821e -libLLVM_assert.v13.0.1+0.x86_64-w64-mingw32-cxx03.tar.gz/md5/a17f42d502120079943a1695128ae7f8 -libLLVM_assert.v13.0.1+0.x86_64-w64-mingw32-cxx03.tar.gz/sha512/e4f6a370c96c29ba6bc5e979fd3660becdcb95d5c26299e4f7f31d1ca089d4acf6915371e1452dc538551aed2db4beaa2903dddb35e72a131f4a5262cd266334 -libLLVM_assert.v13.0.1+0.x86_64-w64-mingw32-cxx11.tar.gz/md5/a458b0572d77d3d79b66a53e94a6436c -libLLVM_assert.v13.0.1+0.x86_64-w64-mingw32-cxx11.tar.gz/sha512/43b6ab2becd9b3179f91f2f856854d4795e53c4078dda26607e5b6a8dfde37cdc28f9fec6c0ca9e0d0d8de5f2304d5775d5c6b7a03c0f6feb2b93e43053997c4 -llvm-julia-13.0.1-0.tar.gz/md5/34edc9f707d86fe8c5758b0ae8c35206 -llvm-julia-13.0.1-0.tar.gz/sha512/0d55c1bf3c581551faa077aab7046d1f020e8775ed16f1fbd8ccee65bc8f43173504f5ce1215227fa5e565f2804f8772e2cda039bc333bb23677067a4a3f9f87 +LLVM.v13.0.1+2.aarch64-apple-darwin.tar.gz/md5/6815ee15551aa80f13f9eb61605c5e22 +LLVM.v13.0.1+2.aarch64-apple-darwin.tar.gz/sha512/a8fa0e03574965227b764c05bc4c8621e691d94515c3d07d47ec5f01c0559f98ff8aba7ef6f40e38cf4870de45f39ad070a80b4c1be8b70eed6916d6a4060323 +LLVM.v13.0.1+2.aarch64-linux-gnu-cxx03.tar.gz/md5/b728279d46118d1956e0cadb4baddbcc +LLVM.v13.0.1+2.aarch64-linux-gnu-cxx03.tar.gz/sha512/01975b8759cbbc10dfac452aab57e1d64b71930812854c6875895d32456400548327940c2fa17d3ddec6671bced60fa81c9080fda1179e213b1f3e2ce621546f +LLVM.v13.0.1+2.aarch64-linux-gnu-cxx11.tar.gz/md5/9baa16cdbb3d061d011495d169181dd9 +LLVM.v13.0.1+2.aarch64-linux-gnu-cxx11.tar.gz/sha512/28dd7d67609cdf3d28464eda565a28c893d13e3019ec2d8969fe118cd90a4caea3b5c5ade8215b14bb2db96ca704e94893e800d4130d85aea1a757eecd6d325a +LLVM.v13.0.1+2.aarch64-linux-musl-cxx03.tar.gz/md5/6dbbabf22fac39bf2ae0b457ecf7b33a +LLVM.v13.0.1+2.aarch64-linux-musl-cxx03.tar.gz/sha512/460355189f72a47afca677c119d34dc58897612121219c482decb447272409a1558904346692cdc05fd83571d8af71ec058c2cf48a30473c16665e46d83b236c +LLVM.v13.0.1+2.aarch64-linux-musl-cxx11.tar.gz/md5/d590608235f692f974168702490963ac +LLVM.v13.0.1+2.aarch64-linux-musl-cxx11.tar.gz/sha512/56a89ac86b9d1a28baf1d2f246c9353e7d51931189c02a96aeaea23e3094fe48785085efa986ab01b7ac4118f42c3fac0f1844907ed0f2fa0375ff4d789f4c60 +LLVM.v13.0.1+2.armv6l-linux-gnueabihf-cxx03.tar.gz/md5/341b2814710a2d012f2ea47e0ecb9a33 +LLVM.v13.0.1+2.armv6l-linux-gnueabihf-cxx03.tar.gz/sha512/9af49ea105a90199163f34ef4f6cc480a125e7d637d3ed26122476d8facba3d2beabd70b12239ec00c123ddbdcd8332cbe79476ea2a0d507fe169270cfdf57bc +LLVM.v13.0.1+2.armv6l-linux-gnueabihf-cxx11.tar.gz/md5/c20bf6b9e83179745451ad077a66d789 +LLVM.v13.0.1+2.armv6l-linux-gnueabihf-cxx11.tar.gz/sha512/15a1be3aa4791036bd30d39a541ffe131ecf5e2b8636b7617aac82dd4ab8aadae937d526de35c5aaeed3c9ff2598a2f4da07b7601b549d047b07c01979dc49c3 +LLVM.v13.0.1+2.armv6l-linux-musleabihf-cxx03.tar.gz/md5/366ea65aab6eff78d311d4e68ee4f008 +LLVM.v13.0.1+2.armv6l-linux-musleabihf-cxx03.tar.gz/sha512/665556314ff0a9faaf8813f691c9f4d0fcb9f01878543c30113259233d22652ec3750cde8deca3e9d08eed7930568d68d71fc7913299a065f90e0c2db15b01d7 +LLVM.v13.0.1+2.armv6l-linux-musleabihf-cxx11.tar.gz/md5/386a521b3bd07787ae39d1bdd04749c6 +LLVM.v13.0.1+2.armv6l-linux-musleabihf-cxx11.tar.gz/sha512/fae5cadf82a25c32df40744d831ff499f7a38b3e67622fe6bad25735bda921b42cdf46ae97476eba34097070625e2d389c13658d33383d9c30434ec6fb0c86a7 +LLVM.v13.0.1+2.armv7l-linux-gnueabihf-cxx03.tar.gz/md5/a8f5a44968b76c3b9ffc9f167b8d7019 +LLVM.v13.0.1+2.armv7l-linux-gnueabihf-cxx03.tar.gz/sha512/1194766a8b9e8383ce9571b118800b5dd8638bc6bd81b70f0748bff2904155b1d3dc12b04a2cd49b569cbabbe5838e1aca80fb932159d4f6131a3b301fcc25d8 +LLVM.v13.0.1+2.armv7l-linux-gnueabihf-cxx11.tar.gz/md5/929e2cb09e3ee879d079c756ed45e807 +LLVM.v13.0.1+2.armv7l-linux-gnueabihf-cxx11.tar.gz/sha512/05076dd00ead60efe0565e2429f28b7c8db8e18b375ddff9839924d0edd2fb8c5de75c3e8096c8b4425a85e3d79bfc9e3f05c8e445ed185d4024a2101bd98324 +LLVM.v13.0.1+2.armv7l-linux-musleabihf-cxx03.tar.gz/md5/2cab2db22a48a03e58e37371cb60fb95 +LLVM.v13.0.1+2.armv7l-linux-musleabihf-cxx03.tar.gz/sha512/a8420c326d21b975cd2be24809b523722dfcb44f3721a10fa9ff9e37b20d28a9ecf868cef84fa8ab01fac14fd321487fe555c06427aa1776cca4712a22dc2008 +LLVM.v13.0.1+2.armv7l-linux-musleabihf-cxx11.tar.gz/md5/ce5efd7e8646572719f2faf39df99f0e +LLVM.v13.0.1+2.armv7l-linux-musleabihf-cxx11.tar.gz/sha512/752c66ed76d25970c796e92900a371e42e1812cb5aad5440a5f769f7bdbea8d9984ac0822b15dcf6bb59209bada33427cafba57abf2100c27bf97db603f6032e +LLVM.v13.0.1+2.i686-linux-gnu-cxx03.tar.gz/md5/477bf71f1757565fac29bfcf25a89ebd +LLVM.v13.0.1+2.i686-linux-gnu-cxx03.tar.gz/sha512/56114bf02a2d84a2e3c875c486b8186c07b6300fc4433b277010c0931365e582dfc820a357af4a23c831ef5ca84d7214764d4787c53f543f75f5b57c2569ad72 +LLVM.v13.0.1+2.i686-linux-gnu-cxx11.tar.gz/md5/e21d6ac180e25cd60e10beeb32702152 +LLVM.v13.0.1+2.i686-linux-gnu-cxx11.tar.gz/sha512/1baf767b024d5d0ffd5040c7cddf8f31f66f47819aa924bfb3545dcf63eeaf611518b802d29957b8009b03df553d6b3f018e4090885cc0cf7d9d79385e8f4bf3 +LLVM.v13.0.1+2.i686-linux-musl-cxx03.tar.gz/md5/ff449600df86f6ded0798ced95e7db36 +LLVM.v13.0.1+2.i686-linux-musl-cxx03.tar.gz/sha512/eb379ce9f84f36665a17002c86b0f59733e23809267736b628123f82482ac5af17ce649f7bd77751921db58a7a79a82ccb95e27a5214ad0abe6ac465f66da995 +LLVM.v13.0.1+2.i686-linux-musl-cxx11.tar.gz/md5/087a933781b85de3729d5db84fa20cd7 +LLVM.v13.0.1+2.i686-linux-musl-cxx11.tar.gz/sha512/7a52633e487273d82637e3a24c7efd788fcfc01be424505fb34aed4665cfe60b6ae04953c808476bfecf4f2022bccf01ee245b99f759baa9de9cd1f163faf12b +LLVM.v13.0.1+2.i686-w64-mingw32-cxx03.tar.gz/md5/b4ecd35d0e0dc5e675e62169f217f191 +LLVM.v13.0.1+2.i686-w64-mingw32-cxx03.tar.gz/sha512/8bc51431c5852df4c6145f7a5518fbb2bc4b5a8710aab8d8a5af4f0a128356fb259f9eff477abd0c91506c22e480af496fd9c05728b6b45993c26688eebb3b50 +LLVM.v13.0.1+2.i686-w64-mingw32-cxx11.tar.gz/md5/fec011e6f4eabde8123402aa8f1c35ae +LLVM.v13.0.1+2.i686-w64-mingw32-cxx11.tar.gz/sha512/a3f5d8849cf35cb27aec8241187fb60c1de7c4bc6248b7e777c18407c005f57e5a2e843886f1a514419f4abbf8c5df2ff2cbbc7a973b1620630ee8c8794f02e0 +LLVM.v13.0.1+2.powerpc64le-linux-gnu-cxx03.tar.gz/md5/26f7fc57f435a103511f2808b14abe3e +LLVM.v13.0.1+2.powerpc64le-linux-gnu-cxx03.tar.gz/sha512/2364470348b727771919bfc5dc92d2e81532c8021e7a7c47df3595f546cd0e155a8dcce5a899ff593de46ffdee1bc574e5b5591941648593057ad118c8d3904f +LLVM.v13.0.1+2.powerpc64le-linux-gnu-cxx11.tar.gz/md5/c9acc3d5378866db53f51e4347e59f37 +LLVM.v13.0.1+2.powerpc64le-linux-gnu-cxx11.tar.gz/sha512/b6d1db7096bbf831619990e8e4307b8ae6483ab004649412346afdff64ba14d355ae829dd993a10d418396b001754f40030ad1ea7f3bc89acf7ff044671f7a0d +LLVM.v13.0.1+2.x86_64-apple-darwin.tar.gz/md5/c9d2b7b516d61602ae26bf6e3de02a5f +LLVM.v13.0.1+2.x86_64-apple-darwin.tar.gz/sha512/2ae15491e51828f60d35a6c16b63ca3ccc5089f84418fbc317834439a4160d95370139cbde0e62010e64020067eafafbcea28bbaf05fde19dd407f497eae6b4f +LLVM.v13.0.1+2.x86_64-linux-gnu-cxx03.tar.gz/md5/5fcd6aaaa858b1540a84dc766147289f +LLVM.v13.0.1+2.x86_64-linux-gnu-cxx03.tar.gz/sha512/7bb91cb89fd50afee9613d117cbad32b53dd101d6b58d6f8e134dba5462129e856837dafd9faa745f5c5412d6a3b8de237e691cb70189c90bee04f4308669c59 +LLVM.v13.0.1+2.x86_64-linux-gnu-cxx11.tar.gz/md5/a021bf040adc51fcebc64da3c4b6a84c +LLVM.v13.0.1+2.x86_64-linux-gnu-cxx11.tar.gz/sha512/0b6dff3addf1cf48f384738a83b99aaeb540d28089f86196532e2b103b2671f440ab469599c261f9a3644361766e3f397bc4f834e0718a75db12beea0c81cd1a +LLVM.v13.0.1+2.x86_64-linux-musl-cxx03.tar.gz/md5/d1387495bd3fa2aa4418cf589670d473 +LLVM.v13.0.1+2.x86_64-linux-musl-cxx03.tar.gz/sha512/37c19f25ddbf44ede9a6942a6118ea38b54368e97b0d7c12d23498623c5bd6cacc7c784a85df491c682d34d6a96e3aa6063bb9fbc4f4828bfa440c4e49b93390 +LLVM.v13.0.1+2.x86_64-linux-musl-cxx11.tar.gz/md5/5240bb7c39a0a91893d5aea6064c1364 +LLVM.v13.0.1+2.x86_64-linux-musl-cxx11.tar.gz/sha512/60898ab7e662f5eb86ddda86debb6dff1a6b86732c2eda1dccd89b7782edaaa554af2e8a2e29e5d4dd5a7d1407d8ca7a94e4db93f1c8e7cf7468d79b4cda9a85 +LLVM.v13.0.1+2.x86_64-unknown-freebsd.tar.gz/md5/b086062730235e7669ed3df473be9a41 +LLVM.v13.0.1+2.x86_64-unknown-freebsd.tar.gz/sha512/8ebe5230c59ebd9066d339878dca2c0fb7f9e505ca5f00c87cedc6a2b3b9b621a3a33da077611f7fcfdd940a8268790b9fdde3bf5339137a7a958a9c8a01d81d +LLVM.v13.0.1+2.x86_64-w64-mingw32-cxx03.tar.gz/md5/ecc17eefa6e0f6e329b248a734d1836d +LLVM.v13.0.1+2.x86_64-w64-mingw32-cxx03.tar.gz/sha512/337a47ebf8740e63caeb342756107d6cbf2fda2af298ed948790b8aedc0f68d56dd930130958d2bbb42cdd54e94d647c0b954f324399a407b6326e2f6cf93c60 +LLVM.v13.0.1+2.x86_64-w64-mingw32-cxx11.tar.gz/md5/8be5b54888fa98967a73268842d5cfcf +LLVM.v13.0.1+2.x86_64-w64-mingw32-cxx11.tar.gz/sha512/0fcb7ed50d27cf8a830f62c53ffee0a95f79934f302b92c660a6955b26439b794b036a7958ab4597fe28001955f9fb02ded533104b9932bed310f19ce0cfe681 +LLVMLibUnwind.v12.0.1+0.aarch64-apple-darwin.tar.gz/md5/b95ad4844e649bf46db43683b55b9f4f +LLVMLibUnwind.v12.0.1+0.aarch64-apple-darwin.tar.gz/sha512/15e0996aebe6db91fe58121001aa7ea4b23685ead3c26b5d89afae34b535e34b4e801a971f4854d8e1a1fbc805cece06272470622eef863e225358113a127913 +LLVMLibUnwind.v12.0.1+0.aarch64-linux-gnu.tar.gz/md5/6d8783dc9b86c9884e0877f0d8ac4167 +LLVMLibUnwind.v12.0.1+0.aarch64-linux-gnu.tar.gz/sha512/d3b0c81498220d77e4f3cc684fb2cc0653792c381207390e695ac30bc74249f96a333a406b2cebdaca14e0b0a27b188cba6209bb5c1cbbb5c184d5626dbdc7a0 +LLVMLibUnwind.v12.0.1+0.aarch64-linux-musl.tar.gz/md5/052a35e879d52244e4b0804be875a38f +LLVMLibUnwind.v12.0.1+0.aarch64-linux-musl.tar.gz/sha512/d1b34fb97f9928e046d3131a050454710a93d38e60287b7e3c92f179f436586d3230cf90b0ca0eb8a3f9ef89fef7b1ffd7d52871645dfa233a8b07ca87ea2ee4 +LLVMLibUnwind.v12.0.1+0.armv6l-linux-gnueabihf.tar.gz/md5/1ad96a03a5dde506b5c05773b1849ec4 +LLVMLibUnwind.v12.0.1+0.armv6l-linux-gnueabihf.tar.gz/sha512/82306fb7b920fa7c71bd53b23d6915e7f256e8da9679cc926a53bb0d879f1f4469f43efe556ca32c9ef59e27b435572c7b39859090652635db4eeefdec0d1685 +LLVMLibUnwind.v12.0.1+0.armv6l-linux-musleabihf.tar.gz/md5/6a24fcd3a4dc3b1a98bb7963b1bb4930 +LLVMLibUnwind.v12.0.1+0.armv6l-linux-musleabihf.tar.gz/sha512/9ba6b83ccec061a1e5260c807dc8afd6e18799431b25a7e65b97662cc4db02509d02ea07fe12025d80914cec7383624b1c8fc9add46511c668e184ede263ac52 +LLVMLibUnwind.v12.0.1+0.armv7l-linux-gnueabihf.tar.gz/md5/09f1bfcf58a4124561553ab5005f9538 +LLVMLibUnwind.v12.0.1+0.armv7l-linux-gnueabihf.tar.gz/sha512/b0907cb857131183ffc338780c6c6dd1d48bf0ba61c3da1b8f20cf9a943373173b621cf9b2e8f1fbc657059a896b84aa025e6d4f0f1d1e8b623fac3e96541765 +LLVMLibUnwind.v12.0.1+0.armv7l-linux-musleabihf.tar.gz/md5/19158bcfae716b26f924d67c4e719342 +LLVMLibUnwind.v12.0.1+0.armv7l-linux-musleabihf.tar.gz/sha512/a90be57990b6699cb737ba96904e94e1f082601ca9d01e670f025b5500f526980741921c9cf672accab78cb5327714ab6ecdbb875174088f0773ebb627a98819 +LLVMLibUnwind.v12.0.1+0.i686-linux-gnu.tar.gz/md5/ba75556eb96b2bcdaf73ff68386d3bc3 +LLVMLibUnwind.v12.0.1+0.i686-linux-gnu.tar.gz/sha512/612fb765695b7aae11ef29608eedf8b959f60c021287a67b03a2a0f57a5814001ffa9b261c9d60d5f3d0582c06c2b41f75fd3afb66a045a248bd43d29e304c97 +LLVMLibUnwind.v12.0.1+0.i686-linux-musl.tar.gz/md5/2fcbceeb1bfde29be0cbca8bb6718bfe +LLVMLibUnwind.v12.0.1+0.i686-linux-musl.tar.gz/sha512/58f281cfc70b3f8a59cf4faa7732824637c811ddc5ea6a058f294f4c3ed4fa6c8ddab5c007567b439f2854635cf4fd146284059bfbc73e7006000ced9383f705 +LLVMLibUnwind.v12.0.1+0.i686-w64-mingw32.tar.gz/md5/153c028d97dceb6924414a7a9a137e1e +LLVMLibUnwind.v12.0.1+0.i686-w64-mingw32.tar.gz/sha512/7ae1f197600eabde9036ae58623de34a6d25636d7861777e324eb97902f65e26c6f3775e757178f8914b0cb6c2e925413f5ffc6abc9b6138470dc9e67a17f212 +LLVMLibUnwind.v12.0.1+0.powerpc64le-linux-gnu.tar.gz/md5/c08a6cf3e1baf156eb05003ed4e9ebe9 +LLVMLibUnwind.v12.0.1+0.powerpc64le-linux-gnu.tar.gz/sha512/f74e44986622329990842cb3ff549ff9254c81863d8bee468b0e58b7621067e7e7f7f18e4cbeafad6a05e0c107323de6828a78dc7afbcd7cd1892383ff417968 +LLVMLibUnwind.v12.0.1+0.x86_64-apple-darwin.tar.gz/md5/caf151150e56827be09acca6964d2b18 +LLVMLibUnwind.v12.0.1+0.x86_64-apple-darwin.tar.gz/sha512/cb3e7aa71367ec4a115bccc2e8ac6bd5d9f22b3935b3889eee1fbf7303c5f553d7d3108977bc1f6c9b6917a6ed9e10bff211fd56b8169233ceae287b112894c2 +LLVMLibUnwind.v12.0.1+0.x86_64-linux-gnu.tar.gz/md5/d95874cbf6f8b55bc314c3968a6a4563 +LLVMLibUnwind.v12.0.1+0.x86_64-linux-gnu.tar.gz/sha512/4986a8d9cc9d8761a99a4f02d017b424484233d4cbe2d4f49ccd371591384b1b8d1c4d31cb908505b86b00f2b164568e57751dd949d91af203ee4a582971798a +LLVMLibUnwind.v12.0.1+0.x86_64-linux-musl.tar.gz/md5/89077d871e15425b1f4c2451fb19a1b2 +LLVMLibUnwind.v12.0.1+0.x86_64-linux-musl.tar.gz/sha512/b65a218b05ade2e2d1582188897b036a4596d09cf65558f178c49c1a1a62b7d992b1d99fbe86a027dc83b614f178e6061f3dfb695b18a8e2b6bf76779b741d96 +LLVMLibUnwind.v12.0.1+0.x86_64-unknown-freebsd.tar.gz/md5/54ac594b4c8e7f261034a8829dad5e34 +LLVMLibUnwind.v12.0.1+0.x86_64-unknown-freebsd.tar.gz/sha512/a43756afd92081e6dd7244d162862fc318b41ca110a5e8be6e4ee2d8fdfd8fb0f79961ae55e48913e055779791bd1c0ecd34fd59281fb66b3c4f24a1f44128f0 +LLVMLibUnwind.v12.0.1+0.x86_64-w64-mingw32.tar.gz/md5/83cf8fc2a085a73b8af4245a82b7d32f +LLVMLibUnwind.v12.0.1+0.x86_64-w64-mingw32.tar.gz/sha512/297a5c7b33bd3f57878871eccb3b9879ea5549639523a1b9db356b710cafb232906a74d668315340d60ba0c5087d3400f14ab92c3704e32e062e6b546abf7df6 +LLVM_assert.v13.0.1+2.aarch64-apple-darwin.tar.gz/md5/e474b6580bd1347d9342b648d69d52b4 +LLVM_assert.v13.0.1+2.aarch64-apple-darwin.tar.gz/sha512/3c5b4b623e6c47e63eb1297988aa9070adf8cb587cb6b2f7a02bffca1d1c8a6cb56423df0072d7af028f4caece652af57f695ac3ffae8c53075be39014b2af54 +LLVM_assert.v13.0.1+2.aarch64-linux-gnu-cxx03.tar.gz/md5/0e2c5c7a0e8929294bd757e5d6e94ab5 +LLVM_assert.v13.0.1+2.aarch64-linux-gnu-cxx03.tar.gz/sha512/c486dc9181d23c2f97d2405100ed9b8eebff83c3b1db82486d3c60643523bd2a27ea8b4825a1a918f4a5e44ec5da25d791b1751f1c4b84d896dd3df8e7cda759 +LLVM_assert.v13.0.1+2.aarch64-linux-gnu-cxx11.tar.gz/md5/2b1d4d10434d57925ac3d60312b40522 +LLVM_assert.v13.0.1+2.aarch64-linux-gnu-cxx11.tar.gz/sha512/1fae1e2a5d0713961d465bbfaff758d360df11bf5aa62b8f400e6604024adff081c378a79c32c954cf6918ac92115a9b8e18201b14f303883772609ce87ba9a2 +LLVM_assert.v13.0.1+2.aarch64-linux-musl-cxx03.tar.gz/md5/e9af424fa0186fbf7a7a40dd300a41e6 +LLVM_assert.v13.0.1+2.aarch64-linux-musl-cxx03.tar.gz/sha512/ef21ca4f7b3ab2a2e58b031254fecc740c63c770a3634b5f47a2a8cf6d84f1cc16e22b84d643916902831a6bbbe743622e3a8cf4ff6a4ca793975331500560da +LLVM_assert.v13.0.1+2.aarch64-linux-musl-cxx11.tar.gz/md5/3f97399e3965a1cc0d6460933e0a9aea +LLVM_assert.v13.0.1+2.aarch64-linux-musl-cxx11.tar.gz/sha512/49a7141b3c94fb7112974d378dfa61740971d80aab4fbd4454f47177d90413aa324e70bdf39de0ccd2c91f5698a12af77b8b71bd848c0b7036da52578a7f15b0 +LLVM_assert.v13.0.1+2.armv6l-linux-gnueabihf-cxx03.tar.gz/md5/b170cec3c1fddce17990ea922b7817ff +LLVM_assert.v13.0.1+2.armv6l-linux-gnueabihf-cxx03.tar.gz/sha512/93a89ca141392831a4eed79d0634e8bb0607bf9bfb45e6e8b91883c57991da4f244eeb8debde510697de09d19b527218c50a47d960387aa81149f4d22c37a73e +LLVM_assert.v13.0.1+2.armv6l-linux-gnueabihf-cxx11.tar.gz/md5/a0bcae6c39c024f7a0601a82fe89532e +LLVM_assert.v13.0.1+2.armv6l-linux-gnueabihf-cxx11.tar.gz/sha512/5a2f7b34c9b30b21635567603e34c0bd0c1705788f5e44e549fb5387a0122ac6d481702daf90738fc5aa8447cb74b941a93e6ee17a231031f3f0727029d27d9e +LLVM_assert.v13.0.1+2.armv6l-linux-musleabihf-cxx03.tar.gz/md5/76c423b23300174364fababd773ffbe6 +LLVM_assert.v13.0.1+2.armv6l-linux-musleabihf-cxx03.tar.gz/sha512/be0c48f6f634a8e95dc68d4f134570ace8190afa58640e5fa49cd07eeeec047f64b9e9a27e7503773fc3264fd97d979175a7ab6608a92cc4dfba6e9ee28d0557 +LLVM_assert.v13.0.1+2.armv6l-linux-musleabihf-cxx11.tar.gz/md5/0b68aedeacc9edd33e9cfa9f0fcdfaf2 +LLVM_assert.v13.0.1+2.armv6l-linux-musleabihf-cxx11.tar.gz/sha512/14ef3bc186ff354a16e4282b8658726d77c4c70e7907218647e5ee240a2693783c9db1507a6ec2b6a40645e21f257f764ba5d8b6423a8ed4c3b3a3c4a3c2728a +LLVM_assert.v13.0.1+2.armv7l-linux-gnueabihf-cxx03.tar.gz/md5/0aed5cc59441335062cda8b07688c913 +LLVM_assert.v13.0.1+2.armv7l-linux-gnueabihf-cxx03.tar.gz/sha512/a898a4ed9b53c6089665f4c0c9bf6645ef78a11ca05d1ea7435eca0c074c95d8de50b722d2b0e2d01b43def5007e08e87dac44276ba8050d95ca230cb799070e +LLVM_assert.v13.0.1+2.armv7l-linux-gnueabihf-cxx11.tar.gz/md5/773f3b5191e14e67750e74597a4dd441 +LLVM_assert.v13.0.1+2.armv7l-linux-gnueabihf-cxx11.tar.gz/sha512/f9ec71d14b2db4ebe7c9a859e299e33fdc16a0e36b41e02e58a25682c5aa16a68000bc47991ab93013aa09806f6deb1e5f6f0a0f92c1c035b977ee6ef32c09a1 +LLVM_assert.v13.0.1+2.armv7l-linux-musleabihf-cxx03.tar.gz/md5/c779f1595078e720f80263a93626498c +LLVM_assert.v13.0.1+2.armv7l-linux-musleabihf-cxx03.tar.gz/sha512/d5ce18e405d304607c28fbd1a3f8d4bf12d70eb26fc987214ab631297c0e977fa6408a7f282562ad4fc32387edadbe13a8a4d78e00e4e6d6749f04e1babd32df +LLVM_assert.v13.0.1+2.armv7l-linux-musleabihf-cxx11.tar.gz/md5/e8a9fa7f10b552e4734e6136a2067f75 +LLVM_assert.v13.0.1+2.armv7l-linux-musleabihf-cxx11.tar.gz/sha512/ccc278d988f59349db4998cab399f0610a9c6daff1e3e2ba0d3c5c66febe2228cc42022040b505e1e6298a0495293a7d8a37359a5cc33050ea574050f6ca675c +LLVM_assert.v13.0.1+2.i686-linux-gnu-cxx03.tar.gz/md5/790620f4cd621c78b898c843222b2bbb +LLVM_assert.v13.0.1+2.i686-linux-gnu-cxx03.tar.gz/sha512/ef3b4390701a5ad4f449c77052466183af824762d3ac050afb0c5154a72c6256c31dc642c2fbb9f024121125a06f74aed522483de0e3c05805dd90f79721a836 +LLVM_assert.v13.0.1+2.i686-linux-gnu-cxx11.tar.gz/md5/85d2cb6f80252d8421f489400ef775bd +LLVM_assert.v13.0.1+2.i686-linux-gnu-cxx11.tar.gz/sha512/00dc218b38d0400a80ab6f4a657d57db663a8f3ef43e2adbd01a563d8c4640086c644eb248a2fce82e48718300ac03517ec9592956275bb173bf9f520f7eb359 +LLVM_assert.v13.0.1+2.i686-linux-musl-cxx03.tar.gz/md5/736ce38ce38e817768366cd0d0e6d97d +LLVM_assert.v13.0.1+2.i686-linux-musl-cxx03.tar.gz/sha512/15e1ba329e0d938ad80ef729e2b10f12f95ec85aea28a072847caef15b53afe6a6679d666027cc83f18affed67228fa9e18e3ca02f297b283c44c155ddb5077f +LLVM_assert.v13.0.1+2.i686-linux-musl-cxx11.tar.gz/md5/c6ed71b0915b6bae9f215129a20b47df +LLVM_assert.v13.0.1+2.i686-linux-musl-cxx11.tar.gz/sha512/f34851f8796d92b6be16f055b2fbc447ad937e9b6f2b3c4e1fed82780863a433d8c60802fdc95fb321e15713736db4b745f6218078b88dbc5272bb6ce348e567 +LLVM_assert.v13.0.1+2.i686-w64-mingw32-cxx03.tar.gz/md5/83e20f2c5756e4aa8930c5bfda1cda61 +LLVM_assert.v13.0.1+2.i686-w64-mingw32-cxx03.tar.gz/sha512/5c69109d543ea4bf10a2e2031ae3bd5f3a049344144dcf6897ce7d7b1c76025ecf4dc86fa4ac77093993141286bc63e762894f4f064383cd2dccc60734988064 +LLVM_assert.v13.0.1+2.i686-w64-mingw32-cxx11.tar.gz/md5/bae6a74bc87765e25e8bd36beb664acd +LLVM_assert.v13.0.1+2.i686-w64-mingw32-cxx11.tar.gz/sha512/8787e0c6afd4bbe430c41bd624afb665ad1900957c0a86bdc670c745b187085c210fbb17f5fad34626d59da1b21dfa5055ac0101db3f020fd1fd8f9bcd727b30 +LLVM_assert.v13.0.1+2.powerpc64le-linux-gnu-cxx03.tar.gz/md5/da4418b577f3ae2300629454620f1d28 +LLVM_assert.v13.0.1+2.powerpc64le-linux-gnu-cxx03.tar.gz/sha512/dff6844546dcd7da8c3c0f1857ca8a91a283e65b16143502c0f3f1791f66faf7ec78ef9e7e9753f931984883c777d75b7e73b917ae10765dca29e4730a2151e8 +LLVM_assert.v13.0.1+2.powerpc64le-linux-gnu-cxx11.tar.gz/md5/7bd0dac8b19f07d4abb0eb58c42b021d +LLVM_assert.v13.0.1+2.powerpc64le-linux-gnu-cxx11.tar.gz/sha512/17feb6913fe13f85c2373171e4fb2ad1064ed57439993db3f01af8464647615dc4486fac76cec665460f8f6bcca392dc2762f550cc3382b2fce3e9950d90d051 +LLVM_assert.v13.0.1+2.x86_64-apple-darwin.tar.gz/md5/9c8143eb5281f6d8661ccac98587c181 +LLVM_assert.v13.0.1+2.x86_64-apple-darwin.tar.gz/sha512/4ace34db86319706cf3b7fde5af326b03dad6b0e615fd3ce8f0fa0598b2d9e8c527ca030444f3e9a15bd6ffe6b0081af2dd9aea1934c699846dadae681cb39cf +LLVM_assert.v13.0.1+2.x86_64-linux-gnu-cxx03.tar.gz/md5/0f495b3e6ab2142723e939445fa15a9d +LLVM_assert.v13.0.1+2.x86_64-linux-gnu-cxx03.tar.gz/sha512/2d27a8bdcd3c64f858ea4cc0b5d5856b00fd93b31027d9cc928f90ad4b344b64696b80b5e238f59f99d400186c359b97894a4e32c2cf514da626db848d75ab10 +LLVM_assert.v13.0.1+2.x86_64-linux-gnu-cxx11.tar.gz/md5/6d68a06c05e13591753331c909dc6d83 +LLVM_assert.v13.0.1+2.x86_64-linux-gnu-cxx11.tar.gz/sha512/4685898829542b686012fc2d3114cc5d11fa2ada310562847b598f72b1549f2e1b00b6f6806f6205422af6a24339d52a6d53c597e6e9a657029b8bac0c43ef10 +LLVM_assert.v13.0.1+2.x86_64-linux-musl-cxx03.tar.gz/md5/da06328307b31df461875cf5ec2488b3 +LLVM_assert.v13.0.1+2.x86_64-linux-musl-cxx03.tar.gz/sha512/ed74c3bbcefef5495b006cfcfd848af36a7faca78d8b6d4ee84b515413ff061e002b942d91b8d25dde87b09bf50f4ae187126d018eeda1eedaa77eea1bb0b805 +LLVM_assert.v13.0.1+2.x86_64-linux-musl-cxx11.tar.gz/md5/97f7b2df4ebe26168bf8aba8d7a433e7 +LLVM_assert.v13.0.1+2.x86_64-linux-musl-cxx11.tar.gz/sha512/5f3b1930593d28b8445c77b20f9e064ea5fee0e1cd9c327a2d59ced38349a0425c9f4e07ed745789270a5906a4e64631b801a0088886784e34e8db501ec52b17 +LLVM_assert.v13.0.1+2.x86_64-unknown-freebsd.tar.gz/md5/8cdb3adcbb93769ee87c52d81f68a25c +LLVM_assert.v13.0.1+2.x86_64-unknown-freebsd.tar.gz/sha512/fb39e79f39af14cecd4cda84ffdeadc9b2a80aab1f755d484571336e8a55dc69e6eb07774de614ed715767e1ed127ad9d6ffd63a011d4f72ff0ece212ca703ad +LLVM_assert.v13.0.1+2.x86_64-w64-mingw32-cxx03.tar.gz/md5/00101e6a75b72d7facb88204c42c43a0 +LLVM_assert.v13.0.1+2.x86_64-w64-mingw32-cxx03.tar.gz/sha512/9d6da10934a375c5ae58688c6133d99683a2b04c64d4ecfcc515146344f163b99e054f33afaccefe051ca403b63d7a65e05c56b2c695cf2a5fc32f41fe59efaf +LLVM_assert.v13.0.1+2.x86_64-w64-mingw32-cxx11.tar.gz/md5/a5608dff32644cde660d453f051999a9 +LLVM_assert.v13.0.1+2.x86_64-w64-mingw32-cxx11.tar.gz/sha512/18ed54aeec018219975baa610b3851dfdb4504e0e4a42ae403d90c936bc27ef233a6d86a9e3f7e2018010056a494ae686d2c05db276a047368cfd5932ba32265 +libLLVM.v13.0.1+2.aarch64-apple-darwin.tar.gz/md5/db865124e4808e1d9d3bf673fd413fe7 +libLLVM.v13.0.1+2.aarch64-apple-darwin.tar.gz/sha512/63d9b2bd2274949e8b3184e788790fd2c7976eb41bda63a765cd5090bdad78dd2554108a040f55da7914737f82d6f62037cfc033c121a52a09b414d4386f01bd +libLLVM.v13.0.1+2.aarch64-linux-gnu-cxx03.tar.gz/md5/12896808215cd92bcccf1862d21bdf3a +libLLVM.v13.0.1+2.aarch64-linux-gnu-cxx03.tar.gz/sha512/4e776f1e2f8010f90602b5f2939e6d5f5cff6d2fbdd4ec4278170387cef4734b95f4d63e83849b6a7136978db1e8af37139321350d13cc4c62186641d7e94217 +libLLVM.v13.0.1+2.aarch64-linux-gnu-cxx11.tar.gz/md5/0899638d95c01e5694134095c37cf7b6 +libLLVM.v13.0.1+2.aarch64-linux-gnu-cxx11.tar.gz/sha512/17c7d7303a29e6d9eeadde8293b5c0e32bf7cb11f40ad99853ab97499598bb153dd9ed99e0c3f974f578f21075d3608a4479b359c8e1a870f43a0b4e96a85233 +libLLVM.v13.0.1+2.aarch64-linux-musl-cxx03.tar.gz/md5/28a87ce1a49b04162ffcb9a1c69f3d08 +libLLVM.v13.0.1+2.aarch64-linux-musl-cxx03.tar.gz/sha512/1bfeea1dd10b1d3c743544ecefa4e3b5e7eea36d9f053fa68e3d12067b39648cb2bfa224ce2adb674250015b26724b5bb1e363e43332e0b1a62699fb2acb0b33 +libLLVM.v13.0.1+2.aarch64-linux-musl-cxx11.tar.gz/md5/179933143843b8d02800afa6247224a2 +libLLVM.v13.0.1+2.aarch64-linux-musl-cxx11.tar.gz/sha512/4f590f21355374ccfa4d83e15f50e05dec44187ef47c4cc3b8ef18189763df2a29f0f314dfb2486d03b15e4dbb1f75707d83656b7c711ea7923fc8dbf2ab8530 +libLLVM.v13.0.1+2.armv6l-linux-gnueabihf-cxx03.tar.gz/md5/74743252af0303c21d45be20564b301d +libLLVM.v13.0.1+2.armv6l-linux-gnueabihf-cxx03.tar.gz/sha512/e93922b32a8558f3dc5261d8e8f226f02106c3d6c1d54251318b70a91f1192c78de589dabd50778af40e8c38825b5d772d6ec0cbf64374ac23e7e6175a87bb1f +libLLVM.v13.0.1+2.armv6l-linux-gnueabihf-cxx11.tar.gz/md5/6da3d1ad82396c57b670316199a849cc +libLLVM.v13.0.1+2.armv6l-linux-gnueabihf-cxx11.tar.gz/sha512/699c710160e0c5914669f842c055bc98e9ed96bc0f4825258ecc9649cbbfdb65a32edd6bf53f8a087183adbca486460a9ebdfc4987d8a8333980327402323707 +libLLVM.v13.0.1+2.armv6l-linux-musleabihf-cxx03.tar.gz/md5/9f6eb18ac80047e7ac8970196355aa10 +libLLVM.v13.0.1+2.armv6l-linux-musleabihf-cxx03.tar.gz/sha512/8f7b78c4faca36cdedcbf8f9f35175092571ac1782cfe22e2f35c72f20d2737d573acf2c964c97a809d646550262567f8579f61b247b5d4eb041c02342795b51 +libLLVM.v13.0.1+2.armv6l-linux-musleabihf-cxx11.tar.gz/md5/b7e2234f55b932a11f8d1d79e045fa90 +libLLVM.v13.0.1+2.armv6l-linux-musleabihf-cxx11.tar.gz/sha512/f513840d7abbf85dd1f2506d7d51c0d203bddda152750fde88fa2328d7a1b9efa872f11bdd828b4a04f14d630a3f009d7230cb7b9ada49e6a16682049a893233 +libLLVM.v13.0.1+2.armv7l-linux-gnueabihf-cxx03.tar.gz/md5/2b9aa510d139a231e10eb6c5620c35d1 +libLLVM.v13.0.1+2.armv7l-linux-gnueabihf-cxx03.tar.gz/sha512/37a0230ea751d198a2996832ff9bbf751e7d1906648de982f796393cc25a8ffbda081484075ab8d7c16e9ce26dd9325f3f448f16108a3c4968b15c0a80366b70 +libLLVM.v13.0.1+2.armv7l-linux-gnueabihf-cxx11.tar.gz/md5/d2e7262c367908e43e25579a7f0893a7 +libLLVM.v13.0.1+2.armv7l-linux-gnueabihf-cxx11.tar.gz/sha512/8f3f24e7e653bec2d5269d4875deadad4592e1c76ed491b17c528f853a2d233d7bdb2d3182a2aea9a2d1aa24c02d967c17a38b160b97f2ffd3d46eaae7a749e0 +libLLVM.v13.0.1+2.armv7l-linux-musleabihf-cxx03.tar.gz/md5/9c1d38c2c54fae44143caa2dba78bb64 +libLLVM.v13.0.1+2.armv7l-linux-musleabihf-cxx03.tar.gz/sha512/0e50dae8e3bd4372b16fd96418241c99e46278f8f2fb8191d1cacf136cd0d429bd74a6472ad0edaab6a17bb03ee576e11778d3569ad4b20184ebf82b6359de62 +libLLVM.v13.0.1+2.armv7l-linux-musleabihf-cxx11.tar.gz/md5/cc58770ca889bd4c4a68236ee7aca8ce +libLLVM.v13.0.1+2.armv7l-linux-musleabihf-cxx11.tar.gz/sha512/c1211ea7e8317b96dff0276c69301029658d3c3c2d88f69b56527205a72f75eac5941eca6f518a184b5ffbab6865656b9fc27a88433c88f2a701eff6de170d03 +libLLVM.v13.0.1+2.i686-linux-gnu-cxx03.tar.gz/md5/c4af3f5036fff0a110dc16b6226fce3c +libLLVM.v13.0.1+2.i686-linux-gnu-cxx03.tar.gz/sha512/e5a9e017efada516e4f902a2ad98a63a99b52052d66dea9b4c20f2a8f8f6ecebf765022d9761b89b759571364065ba712686f3b417c34e46447ff4f7119b7ed3 +libLLVM.v13.0.1+2.i686-linux-gnu-cxx11.tar.gz/md5/91f397cc9dd9594977a46da558e8d310 +libLLVM.v13.0.1+2.i686-linux-gnu-cxx11.tar.gz/sha512/32e570b4845a65c2cb5526164ceb377845d73698a542a324dce343200b4f8509df37cac805890de45bf9475cb0007dc9d7daac029e736a623ccab05133e8eb52 +libLLVM.v13.0.1+2.i686-linux-musl-cxx03.tar.gz/md5/5eb6f2aac0a48a799cee5c0b42213689 +libLLVM.v13.0.1+2.i686-linux-musl-cxx03.tar.gz/sha512/6a0e6574931c68703fe5b638799e238f0bc105683d4c7ced0d7e8c25b4eb9617770a4dbb5b9c5f65f8d8e2b63a4fcc594b386afee8ed723e937bbc49b153ad2f +libLLVM.v13.0.1+2.i686-linux-musl-cxx11.tar.gz/md5/f650178dc0dc04babd2fcabaa3ffc35a +libLLVM.v13.0.1+2.i686-linux-musl-cxx11.tar.gz/sha512/32d48203c6d4c2b2ca2a8bf3927b2dff84cf264d3607f3215456baac2109e7710d53685c8572718d74f614e867f5a911ac62466815c28c5ad0ddc8761bec8437 +libLLVM.v13.0.1+2.i686-w64-mingw32-cxx03.tar.gz/md5/edb299dfe330144360ae0348ff241682 +libLLVM.v13.0.1+2.i686-w64-mingw32-cxx03.tar.gz/sha512/613af75a89930091bd2e6938463a97aafcef7a9bac4d38618979d98dedb8e95180b065e079214e88709700dd28f6a18cd465eda9440e77cac5a232d9a733febf +libLLVM.v13.0.1+2.i686-w64-mingw32-cxx11.tar.gz/md5/32372fe46245d0e93dcbd73e48303692 +libLLVM.v13.0.1+2.i686-w64-mingw32-cxx11.tar.gz/sha512/53da82205f30e2d7e5f1053ac8f254b7cf84f33e1952c6b96e0f4562b164827818ce507ac4c36364c6b34499c08d4f7392866f4075f031e1de91b464b282ba61 +libLLVM.v13.0.1+2.powerpc64le-linux-gnu-cxx03.tar.gz/md5/cd4323bbcfc6af0047d43561d395cc7a +libLLVM.v13.0.1+2.powerpc64le-linux-gnu-cxx03.tar.gz/sha512/e6d6ce334515d46f9400f999de4a3af28791c362e48fd17ee7a1135d88dff87caaf86292c4ef2f05d78c6bfa8b0248bc9a50687b4c3094a1e83bf7da9d44f80d +libLLVM.v13.0.1+2.powerpc64le-linux-gnu-cxx11.tar.gz/md5/ec85afc77c883a45d342e11c0a3fe5c4 +libLLVM.v13.0.1+2.powerpc64le-linux-gnu-cxx11.tar.gz/sha512/fa0e44b8e5efcb770b1ed7c0fa47b03c2fef0b6c1a0c992d35119aa5860f6f1fa039296fc477e6f78c8b9a904ab78394ea962bbd34548a697c7e06891ff37b05 +libLLVM.v13.0.1+2.x86_64-apple-darwin.tar.gz/md5/d8fb6e02698b7be3383df9bf979a7b5f +libLLVM.v13.0.1+2.x86_64-apple-darwin.tar.gz/sha512/a248f58e3e692f8fe2c3a10a513dc0ec25d8e771d0433d80845eff2ecddc46a7cee54c34235603de07daa5345eab279c3ba492df336f23e408d094f0669de7ac +libLLVM.v13.0.1+2.x86_64-linux-gnu-cxx03.tar.gz/md5/e0870d923fac327918a634b327b9761c +libLLVM.v13.0.1+2.x86_64-linux-gnu-cxx03.tar.gz/sha512/60185760fdf65066bec0c9065f2e3553d3ffd9baf2cdf40674b966d04c3b1eadc98670ffc858c49506427999c5527d85fba335d5e82fa879e0a9bd15b1f79780 +libLLVM.v13.0.1+2.x86_64-linux-gnu-cxx11.tar.gz/md5/53a958655d9e0f44babd05ce1e74c8a2 +libLLVM.v13.0.1+2.x86_64-linux-gnu-cxx11.tar.gz/sha512/afd4a7f78b17cf9aad9021613bf2c1fa904835e0d8f473e9abec1d6ebd40b75d1d529fac579cc4f5dc8fff68d2bab8a141f0558dd149294e7fe30b21f4093e8d +libLLVM.v13.0.1+2.x86_64-linux-musl-cxx03.tar.gz/md5/94e731b4f67e99be5c35b1a389e80bb8 +libLLVM.v13.0.1+2.x86_64-linux-musl-cxx03.tar.gz/sha512/f46ffe8ea2b71c4a46976403bcf7fcf97c127d5e69100cc0e52d7ae21a7cf2ba88fc5988ae022c3e42f856d08b3b53a7f6c0e5feed1bed832c74b9363b8b49c9 +libLLVM.v13.0.1+2.x86_64-linux-musl-cxx11.tar.gz/md5/52076835b1d0e41353090923f56651c3 +libLLVM.v13.0.1+2.x86_64-linux-musl-cxx11.tar.gz/sha512/accac4f426f3831b846a1fd4a97344854f5d07e891f1c8d7e458108c7155dc835457225830aa43cc30784fa310729f06c50928816a095e2122280ae2f4fa9512 +libLLVM.v13.0.1+2.x86_64-unknown-freebsd.tar.gz/md5/b19dd47acb743dcf2d42e126d42bd3a8 +libLLVM.v13.0.1+2.x86_64-unknown-freebsd.tar.gz/sha512/38d846acdd788926f6f7cec7ccd2cde13dc55155cb2817ba6eab92f52b4a8583ea753ff879441241949eb3d4c06dfed2dc17703cc37ca77044cb40080520fd3d +libLLVM.v13.0.1+2.x86_64-w64-mingw32-cxx03.tar.gz/md5/7c63d16ebddd4b64f925badc70e81342 +libLLVM.v13.0.1+2.x86_64-w64-mingw32-cxx03.tar.gz/sha512/356ab0a607d034abdf36c955cd704bd6a130bb6f68cc9bf675b9cd1920034fa221103038855ef0735e0a8663965017a2e6138bb379288f31f6c6a4a5bad5ef43 +libLLVM.v13.0.1+2.x86_64-w64-mingw32-cxx11.tar.gz/md5/003ac94ddc23551ed3ecd633825b2c1b +libLLVM.v13.0.1+2.x86_64-w64-mingw32-cxx11.tar.gz/sha512/6c6d8e76c0ac4ac8a37324de60b1ed4a3965556e31f5a14138b880c4f1ad66a4d9621aacd1e35fbd312e720eeee48de1ac30ad66ad70814180cdeff550600710 +libLLVM_assert.v13.0.1+2.aarch64-apple-darwin.tar.gz/md5/6db0cfb11b96d461ead66743f0a49e29 +libLLVM_assert.v13.0.1+2.aarch64-apple-darwin.tar.gz/sha512/10fa8e2725d297d6bd29e98e0c6547e2f870c99f6db5eb31636a7d13d2894b513db0379dbd94979c1adfae5d947d873d2c7debede791c7a7a6baf9428277fda6 +libLLVM_assert.v13.0.1+2.aarch64-linux-gnu-cxx03.tar.gz/md5/d8265030dbcc311ca51b2f7c193d4a89 +libLLVM_assert.v13.0.1+2.aarch64-linux-gnu-cxx03.tar.gz/sha512/7d1096d83cef13590af442383f70e5e5684b7fc1425bfa61855b4a4185b4540f5a3ceb7411e71234b072318b146bf308c38da88d4df29008fdcb409da9d86d04 +libLLVM_assert.v13.0.1+2.aarch64-linux-gnu-cxx11.tar.gz/md5/a96add0e10401d642b56257b9fce2b62 +libLLVM_assert.v13.0.1+2.aarch64-linux-gnu-cxx11.tar.gz/sha512/b8e96c03ddbff403a2576a5429d9798207ded44322d78cda2087ede37615fce8c11cbcbe0d39923878a963a7f7b8c99d891b6531faf4f201ec8bb12684ce462b +libLLVM_assert.v13.0.1+2.aarch64-linux-musl-cxx03.tar.gz/md5/db846ddc21e550abaf84d9298f8a126e +libLLVM_assert.v13.0.1+2.aarch64-linux-musl-cxx03.tar.gz/sha512/3e81700354800d714a87fc280f07098f95638e561f97efdab6287ac78e056771cfca61372c72f010ff7c60ccf90221c2aecfdfa4dfcb068fff9eec9bbec99580 +libLLVM_assert.v13.0.1+2.aarch64-linux-musl-cxx11.tar.gz/md5/b96153a15db02d2068a42cb49c181a6d +libLLVM_assert.v13.0.1+2.aarch64-linux-musl-cxx11.tar.gz/sha512/4250e16b1efafc2466261faab9b1db6426caaea37d169ebe2c14066df0f270550825996355315bacb0d29fd65add71873cbbe05db7462f14939baa0b94348000 +libLLVM_assert.v13.0.1+2.armv6l-linux-gnueabihf-cxx03.tar.gz/md5/f26da04aaaae16d09f9934b5135cc4ae +libLLVM_assert.v13.0.1+2.armv6l-linux-gnueabihf-cxx03.tar.gz/sha512/87d5f4b6a6e9b4930b8247a2230e68d177c9ff0c2e148cc523f0c9a585882970a30c0383f3a22730fa363d3b8eb467a00dd678908e30eea9b876f3f296ca7ee0 +libLLVM_assert.v13.0.1+2.armv6l-linux-gnueabihf-cxx11.tar.gz/md5/0dc7603dc37f55f06bd685ab1e76151c +libLLVM_assert.v13.0.1+2.armv6l-linux-gnueabihf-cxx11.tar.gz/sha512/89ef75f0ccb845836afd530dd5976ff7ac3a68f6abec830c5baddfe0116a1e9321cd2c899c663ac5e3b816346d26f9f3831d7185d5958e1c66560a4bc972d587 +libLLVM_assert.v13.0.1+2.armv6l-linux-musleabihf-cxx03.tar.gz/md5/048b75ef0762ee79902ba0601e6e6054 +libLLVM_assert.v13.0.1+2.armv6l-linux-musleabihf-cxx03.tar.gz/sha512/921cb24d6035afc48a8f6f59c034850448b89f8e38bcbd1e238470a1901e1b917f0a479895a44dfd17e1ceeefb5d2b17c038a18f4051bd42ec811d1c8a8f21b4 +libLLVM_assert.v13.0.1+2.armv6l-linux-musleabihf-cxx11.tar.gz/md5/4f7da2eb48a580a56e7a888a8553c7de +libLLVM_assert.v13.0.1+2.armv6l-linux-musleabihf-cxx11.tar.gz/sha512/d7ced8375c4a931294f3f103b9139ca44777744926c8e259bba7d5dd199284888752fecc6dda376eaf5cd4ff4933e1982933468024cefbe1a0469f7c03c54fde +libLLVM_assert.v13.0.1+2.armv7l-linux-gnueabihf-cxx03.tar.gz/md5/e0b0e376d56c0d59691b8514522abce7 +libLLVM_assert.v13.0.1+2.armv7l-linux-gnueabihf-cxx03.tar.gz/sha512/f48652ed9a186729b2de70d6cfe782a2778c50520dcde234e31d67bd9043aeeefb2f2f5497400d25507a44fa2a8be50f6f0a65c54ba89b34b3b341132fea3e0f +libLLVM_assert.v13.0.1+2.armv7l-linux-gnueabihf-cxx11.tar.gz/md5/a8e910783f176a4e74845bcf792895b1 +libLLVM_assert.v13.0.1+2.armv7l-linux-gnueabihf-cxx11.tar.gz/sha512/c2bd2b2d4bb38f248ed69eee64269ad17505a3ac7ba64320aab5b10069e120dcc3d06beee8355514e6140e43fd8614d61f9d5c484195a2d0e3c25145ca391968 +libLLVM_assert.v13.0.1+2.armv7l-linux-musleabihf-cxx03.tar.gz/md5/c49214e76b086459357d90f242834245 +libLLVM_assert.v13.0.1+2.armv7l-linux-musleabihf-cxx03.tar.gz/sha512/4c70bfed6c12e7ea53749ebbba434870637271211ffbbeeaa3f136337cbb9c65f02fbd6d7a1fc6f441de68df3099b2c30790494b9e2dd3bc4dbc45d687c41a5b +libLLVM_assert.v13.0.1+2.armv7l-linux-musleabihf-cxx11.tar.gz/md5/7dfa45c315adf488855cd501c565c99e +libLLVM_assert.v13.0.1+2.armv7l-linux-musleabihf-cxx11.tar.gz/sha512/56b6743a756cffea541f64e38444d3e1788e2a59404840d3852f26f175d2564973a8faa278446819a4e63fc8b789506f8c356132dacbe5045a9b1e13f34e86bb +libLLVM_assert.v13.0.1+2.i686-linux-gnu-cxx03.tar.gz/md5/e0a91a1099a93f332d8af332f3162d33 +libLLVM_assert.v13.0.1+2.i686-linux-gnu-cxx03.tar.gz/sha512/a36c73fad0968a0702f4bc946d4bbc2d221d61e5ada21a6fef6c1ec93bfc4737995b059a8769c8f728c434459fd311506b27459419fc068e472fe2f7387d97bb +libLLVM_assert.v13.0.1+2.i686-linux-gnu-cxx11.tar.gz/md5/bf896902f6ec4fb758ae57e0eb76f163 +libLLVM_assert.v13.0.1+2.i686-linux-gnu-cxx11.tar.gz/sha512/d653cc299ba864ee247648c3cdf67b9946c14b9a557e2c57b71c356d25d5b2ec8de93d406dbd783bcf19f245e08152bc54bca84eac26f51be100bf09bbec8776 +libLLVM_assert.v13.0.1+2.i686-linux-musl-cxx03.tar.gz/md5/74b85af091b0adad05393c0e791321d3 +libLLVM_assert.v13.0.1+2.i686-linux-musl-cxx03.tar.gz/sha512/c48f8c181e3c8a36fab4ce2075f1ecdaaca5c6e73c09cca49f7d7bf7f60752478020eb9de1fc74c0a4746200ff59ad4828558023ec43047e9719b705e153de30 +libLLVM_assert.v13.0.1+2.i686-linux-musl-cxx11.tar.gz/md5/77425352387848e8ac76018e0d74edb4 +libLLVM_assert.v13.0.1+2.i686-linux-musl-cxx11.tar.gz/sha512/1cea3a6fe8c49b732677d7e313691cda2165a0a6d4dca44f01c8d7ab048329433e77758ba5291e580791f8b3b84ed8125575a4fec37bf5b6cff817b87f8528f4 +libLLVM_assert.v13.0.1+2.i686-w64-mingw32-cxx03.tar.gz/md5/9d388d44c619d2cb0a9824778f1bd164 +libLLVM_assert.v13.0.1+2.i686-w64-mingw32-cxx03.tar.gz/sha512/a8629e54c166b4748a891592d9f2b8e015d008570f49eca09c70489c1e0b50a19556e60f34717f868b9767f2a10578e48010c0686c50f0771cfbd06e3446e219 +libLLVM_assert.v13.0.1+2.i686-w64-mingw32-cxx11.tar.gz/md5/f7f59e413e7dc94135920df1b234eab5 +libLLVM_assert.v13.0.1+2.i686-w64-mingw32-cxx11.tar.gz/sha512/85c1d61c0546c1c679e0b2edf56230c63aa60a4ef31df73e6e797ac873dc8d4b0eaa084e1610435903e5e279186c54e679da7b635750e9ecd61695170fe4d5d3 +libLLVM_assert.v13.0.1+2.powerpc64le-linux-gnu-cxx03.tar.gz/md5/9e22f7f6b2a22b1926a0f68a84f20b00 +libLLVM_assert.v13.0.1+2.powerpc64le-linux-gnu-cxx03.tar.gz/sha512/49ac6e7fe4dd9e61b848ba953082a6149945ad3c733b7d42a89a0b7cc05d0af4a37610cd6dc729c10540d9a7134abf6e5a65d69d072df7056ca17fc48251d951 +libLLVM_assert.v13.0.1+2.powerpc64le-linux-gnu-cxx11.tar.gz/md5/f80e5e501f879e214feeed6cc971a5e9 +libLLVM_assert.v13.0.1+2.powerpc64le-linux-gnu-cxx11.tar.gz/sha512/e75e26dfb6fd42ce1305acd65701468eee6da7721dfa37c959f2aab0921eaf95fa0d94b1f4c97c59df5858539c7b1cc2949a732be98d36b44845beecc7c1bf0c +libLLVM_assert.v13.0.1+2.x86_64-apple-darwin.tar.gz/md5/a53b7fcbd8149fd5211b7c887711607b +libLLVM_assert.v13.0.1+2.x86_64-apple-darwin.tar.gz/sha512/1b0ad43d312420c5da5cd6bc88138f0e38b65f9e5d36d1dbeb7d4aeac7e472e66b326261c4065565e4dbb81d720f8d6370178bd97ce85ef8502abb462ec2fb57 +libLLVM_assert.v13.0.1+2.x86_64-linux-gnu-cxx03.tar.gz/md5/c1c290bcb3b5fc2268a29ceed211245f +libLLVM_assert.v13.0.1+2.x86_64-linux-gnu-cxx03.tar.gz/sha512/1ac3c8b5ea9e1232c8820481364be61184e9fa8c9da7fc66707c965b283f56b8e1a590b40aaad518f152a3bb14903967392d0c77673c324664292263815a1ba2 +libLLVM_assert.v13.0.1+2.x86_64-linux-gnu-cxx11.tar.gz/md5/9bcb827c673cb07f316a752707c3144e +libLLVM_assert.v13.0.1+2.x86_64-linux-gnu-cxx11.tar.gz/sha512/cb4559d5b6f68c4754ee4aa1238f9c2e5f91131d2e93f34ef0037512886ef4ca9795243f4556838511024c3c7c9f511c07e64cd773bb98f9e7b653c76f194e57 +libLLVM_assert.v13.0.1+2.x86_64-linux-musl-cxx03.tar.gz/md5/6b400208db2fc0cce2871ec881d3ec2c +libLLVM_assert.v13.0.1+2.x86_64-linux-musl-cxx03.tar.gz/sha512/2e7405516e973610d090d6966a25293bc252c883e5886fcff59de60d2d1324db9507ba27ebcdcc4565f7f2d6066149b4190513cf26d634fc4260c02b6bf1fb9f +libLLVM_assert.v13.0.1+2.x86_64-linux-musl-cxx11.tar.gz/md5/e1f9fe84eab47bb2670a1ac4424a71df +libLLVM_assert.v13.0.1+2.x86_64-linux-musl-cxx11.tar.gz/sha512/80487d4e1cd60cf117e735e78631b3c2095cb4bc98f193077f499d22db9000715738ff1b929dd4bce4f1bbbfa6fb417bd704a034cf0d8996e6a8872eb4a3d84b +libLLVM_assert.v13.0.1+2.x86_64-unknown-freebsd.tar.gz/md5/3c1d3bce109eb88d8a1a20ae655a384b +libLLVM_assert.v13.0.1+2.x86_64-unknown-freebsd.tar.gz/sha512/f1ca50d1f135d7b82da71145ad6d4c11d781044c74f705c362885d2becfb17f585ff7e167dd279f4898d92496ded9af9082afc1a5e3b7c271f262647383edf08 +libLLVM_assert.v13.0.1+2.x86_64-w64-mingw32-cxx03.tar.gz/md5/83399cb1b8201cc5991c895e54fdbc2c +libLLVM_assert.v13.0.1+2.x86_64-w64-mingw32-cxx03.tar.gz/sha512/449ba8cf0d3ace07f426c27dafdb24f1dfa9b56fdd4bc31d118aef6dba357fb5788a3bc7a62d860f41287a4bdee82851c1da7d6a6817104af5225bd3c6ec4e2b +libLLVM_assert.v13.0.1+2.x86_64-w64-mingw32-cxx11.tar.gz/md5/3493be4fc51854d5c3a6e848a99be415 +libLLVM_assert.v13.0.1+2.x86_64-w64-mingw32-cxx11.tar.gz/sha512/262c0f26b542ae9e97846f83257084a1344fad4ad81ce8ef1f20b6ea2741a737674dc018b3b8e1493685ff10eecb35f137cf82c4603e0d28f32f62101621201e +llvm-julia-13.0.1-2.tar.gz/md5/ecf89f679a0114cdd52eea79dd3c28ae +llvm-julia-13.0.1-2.tar.gz/sha512/3e93cbb4878d2e0890d6c91a6101ab76d89d8d11110a95731fc041d5300ecee5b03e8f8c26bddb58cbf177799c4656c7d54e23ed6d90fc402a5941e39c4ae508 +llvmunwind-12.0.1.tar.xz/md5/4ec327cee517fdb1f6a20e83748e2c7b +llvmunwind-12.0.1.tar.xz/sha512/847b6ba03010a43f4fdbfdc49bf16d18fd18474d01584712e651b11191814bf7c1cf53475021d9ee447ed78413202b4ed97973d7bdd851d3e49f8d06f55a7af4 diff --git a/deps/checksums/llvmunwind b/deps/checksums/llvmunwind deleted file mode 100644 index 678ae7b0c3fc4..0000000000000 --- a/deps/checksums/llvmunwind +++ /dev/null @@ -1,34 +0,0 @@ -LLVMLibUnwind.v12.0.1+0.aarch64-apple-darwin.tar.gz/md5/b95ad4844e649bf46db43683b55b9f4f -LLVMLibUnwind.v12.0.1+0.aarch64-apple-darwin.tar.gz/sha512/15e0996aebe6db91fe58121001aa7ea4b23685ead3c26b5d89afae34b535e34b4e801a971f4854d8e1a1fbc805cece06272470622eef863e225358113a127913 -LLVMLibUnwind.v12.0.1+0.aarch64-linux-gnu.tar.gz/md5/6d8783dc9b86c9884e0877f0d8ac4167 -LLVMLibUnwind.v12.0.1+0.aarch64-linux-gnu.tar.gz/sha512/d3b0c81498220d77e4f3cc684fb2cc0653792c381207390e695ac30bc74249f96a333a406b2cebdaca14e0b0a27b188cba6209bb5c1cbbb5c184d5626dbdc7a0 -LLVMLibUnwind.v12.0.1+0.aarch64-linux-musl.tar.gz/md5/052a35e879d52244e4b0804be875a38f -LLVMLibUnwind.v12.0.1+0.aarch64-linux-musl.tar.gz/sha512/d1b34fb97f9928e046d3131a050454710a93d38e60287b7e3c92f179f436586d3230cf90b0ca0eb8a3f9ef89fef7b1ffd7d52871645dfa233a8b07ca87ea2ee4 -LLVMLibUnwind.v12.0.1+0.armv6l-linux-gnueabihf.tar.gz/md5/1ad96a03a5dde506b5c05773b1849ec4 -LLVMLibUnwind.v12.0.1+0.armv6l-linux-gnueabihf.tar.gz/sha512/82306fb7b920fa7c71bd53b23d6915e7f256e8da9679cc926a53bb0d879f1f4469f43efe556ca32c9ef59e27b435572c7b39859090652635db4eeefdec0d1685 -LLVMLibUnwind.v12.0.1+0.armv6l-linux-musleabihf.tar.gz/md5/6a24fcd3a4dc3b1a98bb7963b1bb4930 -LLVMLibUnwind.v12.0.1+0.armv6l-linux-musleabihf.tar.gz/sha512/9ba6b83ccec061a1e5260c807dc8afd6e18799431b25a7e65b97662cc4db02509d02ea07fe12025d80914cec7383624b1c8fc9add46511c668e184ede263ac52 -LLVMLibUnwind.v12.0.1+0.armv7l-linux-gnueabihf.tar.gz/md5/09f1bfcf58a4124561553ab5005f9538 -LLVMLibUnwind.v12.0.1+0.armv7l-linux-gnueabihf.tar.gz/sha512/b0907cb857131183ffc338780c6c6dd1d48bf0ba61c3da1b8f20cf9a943373173b621cf9b2e8f1fbc657059a896b84aa025e6d4f0f1d1e8b623fac3e96541765 -LLVMLibUnwind.v12.0.1+0.armv7l-linux-musleabihf.tar.gz/md5/19158bcfae716b26f924d67c4e719342 -LLVMLibUnwind.v12.0.1+0.armv7l-linux-musleabihf.tar.gz/sha512/a90be57990b6699cb737ba96904e94e1f082601ca9d01e670f025b5500f526980741921c9cf672accab78cb5327714ab6ecdbb875174088f0773ebb627a98819 -LLVMLibUnwind.v12.0.1+0.i686-linux-gnu.tar.gz/md5/ba75556eb96b2bcdaf73ff68386d3bc3 -LLVMLibUnwind.v12.0.1+0.i686-linux-gnu.tar.gz/sha512/612fb765695b7aae11ef29608eedf8b959f60c021287a67b03a2a0f57a5814001ffa9b261c9d60d5f3d0582c06c2b41f75fd3afb66a045a248bd43d29e304c97 -LLVMLibUnwind.v12.0.1+0.i686-linux-musl.tar.gz/md5/2fcbceeb1bfde29be0cbca8bb6718bfe -LLVMLibUnwind.v12.0.1+0.i686-linux-musl.tar.gz/sha512/58f281cfc70b3f8a59cf4faa7732824637c811ddc5ea6a058f294f4c3ed4fa6c8ddab5c007567b439f2854635cf4fd146284059bfbc73e7006000ced9383f705 -LLVMLibUnwind.v12.0.1+0.i686-w64-mingw32.tar.gz/md5/153c028d97dceb6924414a7a9a137e1e -LLVMLibUnwind.v12.0.1+0.i686-w64-mingw32.tar.gz/sha512/7ae1f197600eabde9036ae58623de34a6d25636d7861777e324eb97902f65e26c6f3775e757178f8914b0cb6c2e925413f5ffc6abc9b6138470dc9e67a17f212 -LLVMLibUnwind.v12.0.1+0.powerpc64le-linux-gnu.tar.gz/md5/c08a6cf3e1baf156eb05003ed4e9ebe9 -LLVMLibUnwind.v12.0.1+0.powerpc64le-linux-gnu.tar.gz/sha512/f74e44986622329990842cb3ff549ff9254c81863d8bee468b0e58b7621067e7e7f7f18e4cbeafad6a05e0c107323de6828a78dc7afbcd7cd1892383ff417968 -LLVMLibUnwind.v12.0.1+0.x86_64-apple-darwin.tar.gz/md5/caf151150e56827be09acca6964d2b18 -LLVMLibUnwind.v12.0.1+0.x86_64-apple-darwin.tar.gz/sha512/cb3e7aa71367ec4a115bccc2e8ac6bd5d9f22b3935b3889eee1fbf7303c5f553d7d3108977bc1f6c9b6917a6ed9e10bff211fd56b8169233ceae287b112894c2 -LLVMLibUnwind.v12.0.1+0.x86_64-linux-gnu.tar.gz/md5/d95874cbf6f8b55bc314c3968a6a4563 -LLVMLibUnwind.v12.0.1+0.x86_64-linux-gnu.tar.gz/sha512/4986a8d9cc9d8761a99a4f02d017b424484233d4cbe2d4f49ccd371591384b1b8d1c4d31cb908505b86b00f2b164568e57751dd949d91af203ee4a582971798a -LLVMLibUnwind.v12.0.1+0.x86_64-linux-musl.tar.gz/md5/89077d871e15425b1f4c2451fb19a1b2 -LLVMLibUnwind.v12.0.1+0.x86_64-linux-musl.tar.gz/sha512/b65a218b05ade2e2d1582188897b036a4596d09cf65558f178c49c1a1a62b7d992b1d99fbe86a027dc83b614f178e6061f3dfb695b18a8e2b6bf76779b741d96 -LLVMLibUnwind.v12.0.1+0.x86_64-unknown-freebsd.tar.gz/md5/54ac594b4c8e7f261034a8829dad5e34 -LLVMLibUnwind.v12.0.1+0.x86_64-unknown-freebsd.tar.gz/sha512/a43756afd92081e6dd7244d162862fc318b41ca110a5e8be6e4ee2d8fdfd8fb0f79961ae55e48913e055779791bd1c0ecd34fd59281fb66b3c4f24a1f44128f0 -LLVMLibUnwind.v12.0.1+0.x86_64-w64-mingw32.tar.gz/md5/83cf8fc2a085a73b8af4245a82b7d32f -LLVMLibUnwind.v12.0.1+0.x86_64-w64-mingw32.tar.gz/sha512/297a5c7b33bd3f57878871eccb3b9879ea5549639523a1b9db356b710cafb232906a74d668315340d60ba0c5087d3400f14ab92c3704e32e062e6b546abf7df6 -llvmunwind-12.0.1.tar.xz/md5/4ec327cee517fdb1f6a20e83748e2c7b -llvmunwind-12.0.1.tar.xz/sha512/847b6ba03010a43f4fdbfdc49bf16d18fd18474d01584712e651b11191814bf7c1cf53475021d9ee447ed78413202b4ed97973d7bdd851d3e49f8d06f55a7af4 diff --git a/deps/csl.mk b/deps/csl.mk index 1940984fdc199..e3f84aa98974d 100644 --- a/deps/csl.mk +++ b/deps/csl.mk @@ -76,8 +76,12 @@ else $(eval $(call copy_csl,$(call versioned_libname,libgcc_s_seh,1))) endif else +ifeq ($(APPLE_ARCH),arm64) +$(eval $(call copy_csl,$(call versioned_libname,libgcc_s,1.1))) +else $(eval $(call copy_csl,$(call versioned_libname,libgcc_s,1))) endif +endif # winpthread is only Windows, pthread is only others ifeq ($(OS),WINNT) $(eval $(call copy_csl,$(call versioned_libname,libwinpthread,1))) diff --git a/deps/curl.mk b/deps/curl.mk index f2cf21d19a354..2bf753f807f17 100644 --- a/deps/curl.mk +++ b/deps/curl.mk @@ -22,13 +22,11 @@ CURL_LDFLAGS += -lpthread endif $(SRCCACHE)/curl-$(CURL_VER).tar.bz2: | $(SRCCACHE) - $(JLDOWNLOAD) $@ https://curl.haxx.se/download/curl-$(CURL_VER).tar.bz2 + $(JLDOWNLOAD) $@ https://curl.se/download/curl-$(CURL_VER).tar.bz2 $(SRCCACHE)/curl-$(CURL_VER)/source-extracted: $(SRCCACHE)/curl-$(CURL_VER).tar.bz2 $(JLCHECKSUM) $< cd $(dir $<) && $(TAR) jxf $(notdir $<) - cp $(SRCDIR)/patches/config.sub $(SRCCACHE)/curl-$(CURL_VER)/config.sub - touch -c $(SRCCACHE)/curl-$(CURL_VER)/configure # old target echo 1 > $@ checksum-curl: $(SRCCACHE)/curl-$(CURL_VER).tar.bz2 @@ -51,8 +49,7 @@ $(BUILDDIR)/curl-$(CURL_VER)/build-configured: $(SRCCACHE)/curl-$(CURL_VER)/sour cd $(dir $@) && \ $(dir $<)/configure $(CONFIGURE_COMMON) --includedir=$(build_includedir) \ --without-ssl --without-gnutls --without-gssapi --disable-ares \ - --without-libidn --without-libidn2 --without-librtmp \ - --without-nss --without-polarssl --without-spnego --without-libpsl \ + --without-libidn2 --without-librtmp --without-nss --without-libpsl \ --disable-ldap --disable-ldaps --without-zsh-functions-dir --disable-static \ --with-libssh2=$(build_prefix) --with-zlib=$(build_prefix) --with-nghttp2=$(build_prefix) \ $(CURL_TLS_CONFIGURE_FLAGS) \ diff --git a/deps/libsuitesparse.mk b/deps/libsuitesparse.mk index 42ae7807bb4ec..7d505cc6837ea 100644 --- a/deps/libsuitesparse.mk +++ b/deps/libsuitesparse.mk @@ -17,13 +17,18 @@ ifneq ($(USE_BINARYBUILDER_LIBSUITESPARSE), 1) LIBSUITESPARSE_PROJECTS := AMD BTF CAMD CCOLAMD COLAMD CHOLMOD LDL KLU UMFPACK RBio SPQR LIBSUITESPARSE_LIBS := $(addsuffix .*$(SHLIB_EXT)*,suitesparseconfig amd btf camd ccolamd colamd cholmod klu ldl umfpack rbio spqr) -SUITE_SPARSE_LIB := $(LDFLAGS) -L"$(abspath $(BUILDDIR))/SuiteSparse-$(LIBSUITESPARSE_VER)/lib" +SUITESPARSE_LIB := $(LDFLAGS) -L"$(abspath $(BUILDDIR))/SuiteSparse-$(LIBSUITESPARSE_VER)/lib" ifeq ($(OS), Darwin) -SUITE_SPARSE_LIB += $(RPATH_ESCAPED_ORIGIN) +SUITESPARSE_LIB += $(RPATH_ESCAPED_ORIGIN) endif -LIBSUITESPARSE_MFLAGS := CC="$(CC)" CXX="$(CXX)" F77="$(FC)" AR="$(AR)" RANLIB="$(RANLIB)" BLAS="-L$(build_shlibdir) -lblastrampoline" LAPACK="-L$(build_shlibdir) -lblastrampoline" \ - LDFLAGS="$(SUITE_SPARSE_LIB)" CFOPENMP="" CUDA=no CUDA_PATH="" \ - UMFPACK_CONFIG="$(UMFPACK_CONFIG)" CHOLMOD_CONFIG="$(CHOLMOD_CONFIG)" SPQR_CONFIG="$(SPQR_CONFIG)" +LIBSUITESPARSE_MFLAGS := CC="$(CC)" CXX="$(CXX)" F77="$(FC)" \ + AR="$(AR)" RANLIB="$(RANLIB)" \ + BLAS="-L$(build_shlibdir) -lblastrampoline" \ + LAPACK="-L$(build_shlibdir) -lblastrampoline" \ + LDFLAGS="$(SUITESPARSE_LIB)" CFOPENMP="" CUDA=no CUDA_PATH="" \ + UMFPACK_CONFIG="$(UMFPACK_CONFIG)" \ + CHOLMOD_CONFIG="$(CHOLMOD_CONFIG)" \ + SPQR_CONFIG="$(SPQR_CONFIG)" ifeq ($(OS),WINNT) LIBSUITESPARSE_MFLAGS += UNAME=Windows else diff --git a/deps/llvm.version b/deps/llvm.version index ed9cfbcfc7a25..68b68b56a4926 100644 --- a/deps/llvm.version +++ b/deps/llvm.version @@ -1,2 +1,2 @@ -LLVM_BRANCH=julia-13.0.1-0 -LLVM_SHA1=julia-13.0.1-0 +LLVM_BRANCH=julia-13.0.1-2 +LLVM_SHA1=julia-13.0.1-2 diff --git a/deps/unwind.mk b/deps/unwind.mk index dbdffdae31996..62d0173007231 100644 --- a/deps/unwind.mk +++ b/deps/unwind.mk @@ -8,6 +8,10 @@ ifeq ($(USE_SYSTEM_ZLIB),0) $(BUILDDIR)/libunwind-$(UNWIND_VER)/build-configured: | $(build_prefix)/manifest/zlib endif +ifeq ($(USE_SYSTEM_LLVM),0) +$(BUILDDIR)/llvmunwind-$(LLVMUNWIND_VER)/build-configured: | $(build_prefix)/manifest/llvm +endif + $(SRCCACHE)/libunwind-$(UNWIND_VER).tar.gz: | $(SRCCACHE) $(JLDOWNLOAD) $@ https://github.com/libunwind/libunwind/releases/download/v$(UNWIND_VER_TAG)/libunwind-$(UNWIND_VER).tar.gz diff --git a/doc/Makefile b/doc/Makefile index 2f8b3f18495d8..51c4f3f51405c 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -28,7 +28,7 @@ DOCUMENTER_OPTIONS := linkcheck=$(linkcheck) doctest=$(doctest) buildroot=$(call UNICODE_DATA_VERSION=13.0.0 $(SRCCACHE)/UnicodeData-$(UNICODE_DATA_VERSION).txt: @mkdir -p "$(SRCCACHE)" - $(JLDOWNLOAD) "$@" http://www.unicode.org/Public/$(UNICODE_DATA_VERSION)/ucd/UnicodeData.txt + $(JLDOWNLOAD) "$@" https://www.unicode.org/Public/$(UNICODE_DATA_VERSION)/ucd/UnicodeData.txt deps: $(SRCCACHE)/UnicodeData-$(UNICODE_DATA_VERSION).txt $(JLCHECKSUM) "$<" diff --git a/src/APInt-C.cpp b/src/APInt-C.cpp index f06d4362bf958..bc0a62e21dd3e 100644 --- a/src/APInt-C.cpp +++ b/src/APInt-C.cpp @@ -316,7 +316,7 @@ void LLVMByteSwap(unsigned numbits, integerPart *pa, integerPart *pr) { void LLVMFPtoInt(unsigned numbits, void *pa, unsigned onumbits, integerPart *pr, bool isSigned, bool *isExact) { double Val; if (numbits == 16) - Val = julia__gnu_h2f_ieee(*(uint16_t*)pa); + Val = __gnu_h2f_ieee(*(uint16_t*)pa); else if (numbits == 32) Val = *(float*)pa; else if (numbits == 64) @@ -391,7 +391,7 @@ void LLVMSItoFP(unsigned numbits, integerPart *pa, unsigned onumbits, integerPar val = a.roundToDouble(true); } if (onumbits == 16) - *(uint16_t*)pr = julia__gnu_f2h_ieee(val); + *(uint16_t*)pr = __gnu_f2h_ieee(val); else if (onumbits == 32) *(float*)pr = val; else if (onumbits == 64) @@ -408,7 +408,7 @@ void LLVMUItoFP(unsigned numbits, integerPart *pa, unsigned onumbits, integerPar val = a.roundToDouble(false); } if (onumbits == 16) - *(uint16_t*)pr = julia__gnu_f2h_ieee(val); + *(uint16_t*)pr = __gnu_f2h_ieee(val); else if (onumbits == 32) *(float*)pr = val; else if (onumbits == 64) diff --git a/src/gc.c b/src/gc.c index 6942d153616b9..97669e0acfe61 100644 --- a/src/gc.c +++ b/src/gc.c @@ -3410,12 +3410,12 @@ void jl_gc_init(void) gc_num.allocd = 0; #ifdef _P64 - // on a big memory machine, set max_collect_interval to totalmem / ncores / 2 + // on a big memory machine, set max_collect_interval to totalmem / nthreads / 2 uint64_t total_mem = uv_get_total_memory(); uint64_t constrained_mem = uv_get_constrained_memory(); if (constrained_mem > 0 && constrained_mem < total_mem) total_mem = constrained_mem; - size_t maxmem = total_mem / jl_cpu_threads() / 2; + size_t maxmem = total_mem / jl_n_threads / 2; if (maxmem > max_collect_interval) max_collect_interval = maxmem; #endif diff --git a/src/init.c b/src/init.c index 98d5081c1daaf..d2c76bac404e7 100644 --- a/src/init.c +++ b/src/init.c @@ -686,10 +686,10 @@ JL_DLLEXPORT void julia_init(JL_IMAGE_SEARCH rel) } jl_init_runtime_ccall(); - jl_gc_init(); jl_init_tasks(); jl_init_threading(); + jl_gc_init(); jl_ptls_t ptls = jl_init_threadtls(0); // warning: this changes `jl_current_task`, so be careful not to call that from this function jl_task_t *ct = jl_init_root_task(ptls, stack_lo, stack_hi); diff --git a/src/jitlayers.cpp b/src/jitlayers.cpp index 7c68c8eb561d9..93ae9b16d7f16 100644 --- a/src/jitlayers.cpp +++ b/src/jitlayers.cpp @@ -291,6 +291,7 @@ jl_code_instance_t *jl_generate_fptr_impl(jl_method_instance_t *mi JL_PROPAGATES JL_LOCK(&jl_codegen_lock); // also disables finalizers, to prevent any unexpected recursion uint64_t compiler_start_time = 0; uint8_t measure_compile_time_enabled = jl_atomic_load_relaxed(&jl_measure_compile_time_enabled); + bool is_recompile = false; if (measure_compile_time_enabled) compiler_start_time = jl_hrtime(); // if we don't have any decls already, try to generate it now @@ -305,6 +306,10 @@ jl_code_instance_t *jl_generate_fptr_impl(jl_method_instance_t *mi JL_PROPAGATES else if (jl_is_method(mi->def.method)) src = jl_uncompress_ir(mi->def.method, codeinst, (jl_array_t*)src); } + else { + // identify whether this is an invalidated method that is being recompiled + is_recompile = jl_atomic_load_relaxed(&mi->cache) != NULL; + } if (src == NULL && jl_is_method(mi->def.method) && jl_symbol_name(mi->def.method->name)[0] != '@') { if (mi->def.method->source != jl_nothing) { @@ -331,8 +336,12 @@ jl_code_instance_t *jl_generate_fptr_impl(jl_method_instance_t *mi JL_PROPAGATES else { codeinst = NULL; } - if (jl_codegen_lock.count == 1 && measure_compile_time_enabled) - jl_atomic_fetch_add_relaxed(&jl_cumulative_compile_time, (jl_hrtime() - compiler_start_time)); + if (jl_codegen_lock.count == 1 && measure_compile_time_enabled) { + uint64_t t_comp = jl_hrtime() - compiler_start_time; + if (is_recompile) + jl_atomic_fetch_add_relaxed(&jl_cumulative_recompile_time, t_comp); + jl_atomic_fetch_add_relaxed(&jl_cumulative_compile_time, t_comp); + } JL_UNLOCK(&jl_codegen_lock); JL_GC_POP(); return codeinst; diff --git a/src/jlapi.c b/src/jlapi.c index 18a98d943187b..e2691db51b709 100644 --- a/src/jlapi.c +++ b/src/jlapi.c @@ -480,20 +480,28 @@ JL_DLLEXPORT void (jl_cpu_wake)(void) jl_cpu_wake(); } -JL_DLLEXPORT uint64_t jl_cumulative_compile_time_ns_before(void) +JL_DLLEXPORT void jl_cumulative_compile_timing_enable(void) { // Increment the flag to allow reentrant callers to `@time`. jl_atomic_fetch_add(&jl_measure_compile_time_enabled, 1); - return jl_atomic_load_relaxed(&jl_cumulative_compile_time); } -JL_DLLEXPORT uint64_t jl_cumulative_compile_time_ns_after(void) +JL_DLLEXPORT void jl_cumulative_compile_timing_disable(void) { // Decrement the flag when done measuring, allowing other callers to continue measuring. jl_atomic_fetch_add(&jl_measure_compile_time_enabled, -1); +} + +JL_DLLEXPORT uint64_t jl_cumulative_compile_time_ns(void) +{ return jl_atomic_load_relaxed(&jl_cumulative_compile_time); } +JL_DLLEXPORT uint64_t jl_cumulative_recompile_time_ns(void) +{ + return jl_atomic_load_relaxed(&jl_cumulative_recompile_time); +} + JL_DLLEXPORT void jl_get_fenv_consts(int *ret) { ret[0] = FE_INEXACT; diff --git a/src/jltypes.c b/src/jltypes.c index 1686a4b57e500..72a9d257f140b 100644 --- a/src/jltypes.c +++ b/src/jltypes.c @@ -1199,6 +1199,7 @@ void jl_precompute_memoized_dt(jl_datatype_t *dt, int cacheable) if (dt->isdispatchtuple) { dt->isdispatchtuple = jl_is_datatype(p) && ((!jl_is_kind(p) && ((jl_datatype_t*)p)->isconcretetype) || + (p == (jl_value_t*)jl_typeofbottom_type) || // == Type{Union{}}, so needs to be consistent (((jl_datatype_t*)p)->name == jl_type_typename && !((jl_datatype_t*)p)->hasfreetypevars)); } if (istuple && dt->has_concrete_subtype) { diff --git a/src/julia.expmap b/src/julia.expmap index 6717f8d00c621..2d801dceae044 100644 --- a/src/julia.expmap +++ b/src/julia.expmap @@ -37,6 +37,12 @@ environ; __progname; + /* compiler run-time intrinsics */ + __gnu_h2f_ieee; + __extendhfsf2; + __gnu_f2h_ieee; + __truncdfhf2; + local: *; }; diff --git a/src/julia_internal.h b/src/julia_internal.h index 8e7079f75364f..873ef2541d6f6 100644 --- a/src/julia_internal.h +++ b/src/julia_internal.h @@ -169,6 +169,7 @@ static inline uint64_t cycleclock(void) JL_NOTSAFEPOINT // Global *atomic* integers controlling *process-wide* measurement of compilation time. extern JL_DLLEXPORT _Atomic(uint8_t) jl_measure_compile_time_enabled; extern JL_DLLEXPORT _Atomic(uint64_t) jl_cumulative_compile_time; +extern JL_DLLEXPORT _Atomic(uint64_t) jl_cumulative_recompile_time; #define jl_return_address() ((uintptr_t)__builtin_return_address(0)) @@ -1522,18 +1523,8 @@ jl_sym_t *_jl_symbol(const char *str, size_t len) JL_NOTSAFEPOINT; #define JL_GC_ASSERT_LIVE(x) (void)(x) #endif -JL_DLLEXPORT float julia__gnu_h2f_ieee(uint16_t param) JL_NOTSAFEPOINT; -JL_DLLEXPORT uint16_t julia__gnu_f2h_ieee(float param) JL_NOTSAFEPOINT; -JL_DLLEXPORT uint16_t julia__truncdfhf2(double param) JL_NOTSAFEPOINT; -//JL_DLLEXPORT double julia__extendhfdf2(uint16_t n) JL_NOTSAFEPOINT; -//JL_DLLEXPORT int32_t julia__fixhfsi(uint16_t n) JL_NOTSAFEPOINT; -//JL_DLLEXPORT int64_t julia__fixhfdi(uint16_t n) JL_NOTSAFEPOINT; -//JL_DLLEXPORT uint32_t julia__fixunshfsi(uint16_t n) JL_NOTSAFEPOINT; -//JL_DLLEXPORT uint64_t julia__fixunshfdi(uint16_t n) JL_NOTSAFEPOINT; -//JL_DLLEXPORT uint16_t julia__floatsihf(int32_t n) JL_NOTSAFEPOINT; -//JL_DLLEXPORT uint16_t julia__floatdihf(int64_t n) JL_NOTSAFEPOINT; -//JL_DLLEXPORT uint16_t julia__floatunsihf(uint32_t n) JL_NOTSAFEPOINT; -//JL_DLLEXPORT uint16_t julia__floatundihf(uint64_t n) JL_NOTSAFEPOINT; +float __gnu_h2f_ieee(uint16_t param) JL_NOTSAFEPOINT; +uint16_t __gnu_f2h_ieee(float param) JL_NOTSAFEPOINT; #ifdef __cplusplus } diff --git a/src/julia_threads.h b/src/julia_threads.h index 22acf3aec8587..9ad6ae089dad4 100644 --- a/src/julia_threads.h +++ b/src/julia_threads.h @@ -356,7 +356,6 @@ int8_t jl_gc_safe_leave(jl_ptls_t ptls, int8_t state); // Can be a safepoint #define jl_gc_safe_enter(ptls) jl_gc_state_save_and_set(ptls, JL_GC_STATE_SAFE) #define jl_gc_safe_leave(ptls, state) ((void)jl_gc_state_set(ptls, (state), JL_GC_STATE_SAFE)) #endif -JL_DLLEXPORT void (jl_gc_safepoint)(void); JL_DLLEXPORT void jl_gc_enable_finalizers(struct _jl_task_t *ct, int on); JL_DLLEXPORT void jl_gc_disable_finalizers_internal(void); diff --git a/src/llvm-demote-float16.cpp b/src/llvm-demote-float16.cpp index a68f8faf2e3a7..3e328424e26d2 100644 --- a/src/llvm-demote-float16.cpp +++ b/src/llvm-demote-float16.cpp @@ -18,7 +18,6 @@ #include "support/dtypes.h" -#include #include #include #include @@ -29,193 +28,15 @@ using namespace llvm; namespace { -inline AttributeSet getFnAttrs(const AttributeList &Attrs) -{ -#if JL_LLVM_VERSION >= 140000 - return Attrs.getFnAttrs(); -#else - return Attrs.getFnAttributes(); -#endif -} - -inline AttributeSet getRetAttrs(const AttributeList &Attrs) -{ -#if JL_LLVM_VERSION >= 140000 - return Attrs.getRetAttrs(); -#else - return Attrs.getRetAttributes(); -#endif -} - -static Instruction *replaceIntrinsicWith(IntrinsicInst *call, Type *RetTy, ArrayRef args) -{ - Intrinsic::ID ID = call->getIntrinsicID(); - assert(ID); - auto oldfType = call->getFunctionType(); - auto nargs = oldfType->getNumParams(); - assert(args.size() > nargs); - SmallVector argTys(nargs); - for (unsigned i = 0; i < nargs; i++) - argTys[i] = args[i]->getType(); - auto newfType = FunctionType::get(RetTy, argTys, oldfType->isVarArg()); - - // Accumulate an array of overloaded types for the given intrinsic - // and compute the new name mangling schema - SmallVector overloadTys; - { - SmallVector Table; - getIntrinsicInfoTableEntries(ID, Table); - ArrayRef TableRef = Table; - auto res = Intrinsic::matchIntrinsicSignature(newfType, TableRef, overloadTys); - assert(res == Intrinsic::MatchIntrinsicTypes_Match); - (void)res; - bool matchvararg = !Intrinsic::matchIntrinsicVarArg(newfType->isVarArg(), TableRef); - assert(matchvararg); - (void)matchvararg; - } - auto newF = Intrinsic::getDeclaration(call->getModule(), ID, overloadTys); - assert(newF->getFunctionType() == newfType); - newF->setCallingConv(call->getCallingConv()); - assert(args.back() == call->getCalledFunction()); - auto newCall = CallInst::Create(newF, args.drop_back(), "", call); - newCall->setTailCallKind(call->getTailCallKind()); - auto old_attrs = call->getAttributes(); - newCall->setAttributes(AttributeList::get(call->getContext(), getFnAttrs(old_attrs), - getRetAttrs(old_attrs), {})); // drop parameter attributes - return newCall; -} - - -static Value* CreateFPCast(Instruction::CastOps opcode, Value *V, Type *DestTy, IRBuilder<> &builder) -{ - Type *SrcTy = V->getType(); - Type *RetTy = DestTy; - if (auto *VC = dyn_cast(V)) { - // The input IR often has things of the form - // fcmp olt half %0, 0xH7C00 - // and we would like to avoid turning that constant into a call here - // if we can simply constant fold it to the new type. - VC = ConstantExpr::getCast(opcode, VC, DestTy, true); - if (VC) - return VC; - } - assert(SrcTy->isVectorTy() == DestTy->isVectorTy()); - if (SrcTy->isVectorTy()) { - unsigned NumElems = cast(SrcTy)->getNumElements(); - assert(cast(DestTy)->getNumElements() == NumElems && "Mismatched cast"); - Value *NewV = UndefValue::get(DestTy); - RetTy = RetTy->getScalarType(); - for (unsigned i = 0; i < NumElems; ++i) { - Value *I = builder.getInt32(i); - Value *Vi = builder.CreateExtractElement(V, I); - Vi = CreateFPCast(opcode, Vi, RetTy, builder); - NewV = builder.CreateInsertElement(NewV, Vi, I); - } - return NewV; - } - auto &M = *builder.GetInsertBlock()->getModule(); - auto &ctx = M.getContext(); - // Pick the Function to call in the Julia runtime - StringRef Name; - switch (opcode) { - case Instruction::FPExt: - // this is exact, so we only need one conversion - assert(SrcTy->isHalfTy()); - Name = "julia__gnu_h2f_ieee"; - RetTy = Type::getFloatTy(ctx); - break; - case Instruction::FPTrunc: - assert(DestTy->isHalfTy()); - if (SrcTy->isFloatTy()) - Name = "julia__gnu_f2h_ieee"; - else if (SrcTy->isDoubleTy()) - Name = "julia__truncdfhf2"; - break; - // All F16 fit exactly in Int32 (-65504 to 65504) - case Instruction::FPToSI: JL_FALLTHROUGH; - case Instruction::FPToUI: - assert(SrcTy->isHalfTy()); - Name = "julia__gnu_h2f_ieee"; - RetTy = Type::getFloatTy(ctx); - break; - case Instruction::SIToFP: JL_FALLTHROUGH; - case Instruction::UIToFP: - assert(DestTy->isHalfTy()); - Name = "julia__gnu_f2h_ieee"; - SrcTy = Type::getFloatTy(ctx); - break; - default: - errs() << Instruction::getOpcodeName(opcode) << ' '; - V->getType()->print(errs()); - errs() << " to "; - DestTy->print(errs()); - errs() << " is an "; - llvm_unreachable("invalid cast"); - } - if (Name.empty()) { - errs() << Instruction::getOpcodeName(opcode) << ' '; - V->getType()->print(errs()); - errs() << " to "; - DestTy->print(errs()); - errs() << " is an "; - llvm_unreachable("illegal cast"); - } - // Coerce the source to the required size and type - auto T_int16 = Type::getInt16Ty(ctx); - if (SrcTy->isHalfTy()) - SrcTy = T_int16; - if (opcode == Instruction::SIToFP) - V = builder.CreateSIToFP(V, SrcTy); - else if (opcode == Instruction::UIToFP) - V = builder.CreateUIToFP(V, SrcTy); - else - V = builder.CreateBitCast(V, SrcTy); - // Call our intrinsic - if (RetTy->isHalfTy()) - RetTy = T_int16; - auto FT = FunctionType::get(RetTy, {SrcTy}, false); - FunctionCallee F = M.getOrInsertFunction(Name, FT); - Value *I = builder.CreateCall(F, {V}); - // Coerce the result to the expected type - if (opcode == Instruction::FPToSI) - I = builder.CreateFPToSI(I, DestTy); - else if (opcode == Instruction::FPToUI) - I = builder.CreateFPToUI(I, DestTy); - else if (opcode == Instruction::FPExt) - I = builder.CreateFPCast(I, DestTy); - else - I = builder.CreateBitCast(I, DestTy); - return I; -} - static bool demoteFloat16(Function &F) { auto &ctx = F.getContext(); + auto T_float16 = Type::getHalfTy(ctx); auto T_float32 = Type::getFloatTy(ctx); SmallVector erase; for (auto &BB : F) { for (auto &I : BB) { - // extend Float16 operands to Float32 - bool Float16 = I.getType()->getScalarType()->isHalfTy(); - for (size_t i = 0; !Float16 && i < I.getNumOperands(); i++) { - Value *Op = I.getOperand(i); - if (Op->getType()->getScalarType()->isHalfTy()) - Float16 = true; - } - if (!Float16) - continue; - - if (auto CI = dyn_cast(&I)) { - if (CI->getOpcode() != Instruction::BitCast) { // aka !CI->isNoopCast(DL) - IRBuilder<> builder(&I); - Value *NewI = CreateFPCast(CI->getOpcode(), I.getOperand(0), I.getType(), builder); - I.replaceAllUsesWith(NewI); - erase.push_back(&I); - } - continue; - } - switch (I.getOpcode()) { case Instruction::FNeg: case Instruction::FAdd: @@ -226,9 +47,6 @@ static bool demoteFloat16(Function &F) case Instruction::FCmp: break; default: - if (auto intrinsic = dyn_cast(&I)) - if (intrinsic->getIntrinsicID()) - break; continue; } @@ -240,67 +58,61 @@ static bool demoteFloat16(Function &F) IRBuilder<> builder(&I); // extend Float16 operands to Float32 - // XXX: Calls to llvm.fma.f16 may need to go to f64 to be correct? + bool OperandsChanged = false; SmallVector Operands(I.getNumOperands()); for (size_t i = 0; i < I.getNumOperands(); i++) { Value *Op = I.getOperand(i); - if (Op->getType()->getScalarType()->isHalfTy()) { - Op = CreateFPCast(Instruction::FPExt, Op, Op->getType()->getWithNewType(T_float32), builder); + if (Op->getType() == T_float16) { + Op = builder.CreateFPExt(Op, T_float32); + OperandsChanged = true; } Operands[i] = (Op); } // recreate the instruction if any operands changed, // truncating the result back to Float16 - Value *NewI; - switch (I.getOpcode()) { - case Instruction::FNeg: - assert(Operands.size() == 1); - NewI = builder.CreateFNeg(Operands[0]); - break; - case Instruction::FAdd: - assert(Operands.size() == 2); - NewI = builder.CreateFAdd(Operands[0], Operands[1]); - break; - case Instruction::FSub: - assert(Operands.size() == 2); - NewI = builder.CreateFSub(Operands[0], Operands[1]); - break; - case Instruction::FMul: - assert(Operands.size() == 2); - NewI = builder.CreateFMul(Operands[0], Operands[1]); - break; - case Instruction::FDiv: - assert(Operands.size() == 2); - NewI = builder.CreateFDiv(Operands[0], Operands[1]); - break; - case Instruction::FRem: - assert(Operands.size() == 2); - NewI = builder.CreateFRem(Operands[0], Operands[1]); - break; - case Instruction::FCmp: - assert(Operands.size() == 2); - NewI = builder.CreateFCmp(cast(&I)->getPredicate(), - Operands[0], Operands[1]); - break; - default: - if (auto intrinsic = dyn_cast(&I)) { - // XXX: this is not correct in general - // some obvious failures include llvm.convert.to.fp16.*, llvm.vp.*to*, llvm.experimental.constrained.*to*, llvm.masked.* - Type *RetTy = I.getType(); - if (RetTy->getScalarType()->isHalfTy()) - RetTy = RetTy->getWithNewType(T_float32); - NewI = replaceIntrinsicWith(intrinsic, RetTy, Operands); + if (OperandsChanged) { + Value *NewI; + switch (I.getOpcode()) { + case Instruction::FNeg: + assert(Operands.size() == 1); + NewI = builder.CreateFNeg(Operands[0]); + break; + case Instruction::FAdd: + assert(Operands.size() == 2); + NewI = builder.CreateFAdd(Operands[0], Operands[1]); + break; + case Instruction::FSub: + assert(Operands.size() == 2); + NewI = builder.CreateFSub(Operands[0], Operands[1]); + break; + case Instruction::FMul: + assert(Operands.size() == 2); + NewI = builder.CreateFMul(Operands[0], Operands[1]); + break; + case Instruction::FDiv: + assert(Operands.size() == 2); + NewI = builder.CreateFDiv(Operands[0], Operands[1]); + break; + case Instruction::FRem: + assert(Operands.size() == 2); + NewI = builder.CreateFRem(Operands[0], Operands[1]); + break; + case Instruction::FCmp: + assert(Operands.size() == 2); + NewI = builder.CreateFCmp(cast(&I)->getPredicate(), + Operands[0], Operands[1]); break; + default: + abort(); } - abort(); + cast(NewI)->copyMetadata(I); + cast(NewI)->copyFastMathFlags(&I); + if (NewI->getType() != I.getType()) + NewI = builder.CreateFPTrunc(NewI, I.getType()); + I.replaceAllUsesWith(NewI); + erase.push_back(&I); } - cast(NewI)->copyMetadata(I); - cast(NewI)->copyFastMathFlags(&I); - if (NewI->getType() != I.getType()) - NewI = CreateFPCast(Instruction::FPTrunc, NewI, I.getType(), builder); - I.replaceAllUsesWith(NewI); - erase.push_back(&I); } } diff --git a/src/processor_x86.cpp b/src/processor_x86.cpp index f18c7069fa2c2..3b1f4be4fe932 100644 --- a/src/processor_x86.cpp +++ b/src/processor_x86.cpp @@ -92,6 +92,7 @@ enum class CPU : uint32_t { amd_barcelona, amd_znver1, amd_znver2, + amd_znver3, }; static constexpr size_t feature_sz = 11; @@ -222,6 +223,7 @@ constexpr auto bdver4 = bdver3 | get_feature_masks(avx2, bmi2, mwaitx, movbe, rd constexpr auto znver1 = haswell | get_feature_masks(adx, aes, clflushopt, clzero, mwaitx, prfchw, rdseed, sha, sse4a, xsavec, xsaves); constexpr auto znver2 = znver1 | get_feature_masks(clwb, rdpid, wbnoinvd); +constexpr auto znver3 = znver2 | get_feature_masks(shstk, pku, vaes, vpclmulqdq); } @@ -280,6 +282,7 @@ static constexpr CPUSpec cpus[] = { {"znver1", CPU::amd_znver1, CPU::generic, 0, Feature::znver1}, {"znver2", CPU::amd_znver2, CPU::generic, 0, Feature::znver2}, + {"znver3", CPU::amd_znver3, CPU::amd_znver2, 120000, Feature::znver3}, }; static constexpr size_t ncpu_names = sizeof(cpus) / sizeof(cpus[0]); @@ -543,6 +546,10 @@ static CPU get_amd_processor_name(uint32_t family, uint32_t model, const uint32_ if (model >= 0x30) return CPU::amd_znver2; return CPU::amd_znver1; + case 0x19: // AMD Family 19h + if (model <= 0x0f || model == 0x21) + return CPU::amd_znver3; // 00h-0Fh, 21h: Zen3 + return CPU::amd_znver3; // fallback } } diff --git a/src/runtime_intrinsics.c b/src/runtime_intrinsics.c index f505a9d5e5d5a..9525b655dc5e3 100644 --- a/src/runtime_intrinsics.c +++ b/src/runtime_intrinsics.c @@ -15,6 +15,9 @@ const unsigned int host_char_bit = 8; // float16 intrinsics +// TODO: use LLVM's compiler-rt on all platforms (Xcode already links compiler-rt) + +#if !defined(_OS_DARWIN_) static inline float half_to_float(uint16_t ival) JL_NOTSAFEPOINT { @@ -185,17 +188,22 @@ static inline uint16_t float_to_half(float param) JL_NOTSAFEPOINT return h; } -JL_DLLEXPORT float julia__gnu_h2f_ieee(uint16_t param) +JL_DLLEXPORT float __gnu_h2f_ieee(uint16_t param) { return half_to_float(param); } -JL_DLLEXPORT uint16_t julia__gnu_f2h_ieee(float param) +JL_DLLEXPORT float __extendhfsf2(uint16_t param) +{ + return half_to_float(param); +} + +JL_DLLEXPORT uint16_t __gnu_f2h_ieee(float param) { return float_to_half(param); } -JL_DLLEXPORT uint16_t julia__truncdfhf2(double param) +JL_DLLEXPORT uint16_t __truncdfhf2(double param) { float res = (float)param; uint32_t resi; @@ -217,25 +225,7 @@ JL_DLLEXPORT uint16_t julia__truncdfhf2(double param) return float_to_half(res); } -//JL_DLLEXPORT double julia__extendhfdf2(uint16_t n) { return (double)julia__gnu_h2f_ieee(n); } -//JL_DLLEXPORT int32_t julia__fixhfsi(uint16_t n) { return (int32_t)julia__gnu_h2f_ieee(n); } -//JL_DLLEXPORT int64_t julia__fixhfdi(uint16_t n) { return (int64_t)julia__gnu_h2f_ieee(n); } -//JL_DLLEXPORT uint32_t julia__fixunshfsi(uint16_t n) { return (uint32_t)julia__gnu_h2f_ieee(n); } -//JL_DLLEXPORT uint64_t julia__fixunshfdi(uint16_t n) { return (uint64_t)julia__gnu_h2f_ieee(n); } -//JL_DLLEXPORT uint16_t julia__floatsihf(int32_t n) { return julia__gnu_f2h_ieee((float)n); } -//JL_DLLEXPORT uint16_t julia__floatdihf(int64_t n) { return julia__gnu_f2h_ieee((float)n); } -//JL_DLLEXPORT uint16_t julia__floatunsihf(uint32_t n) { return julia__gnu_f2h_ieee((float)n); } -//JL_DLLEXPORT uint16_t julia__floatundihf(uint64_t n) { return julia__gnu_f2h_ieee((float)n); } -//HANDLE_LIBCALL(F16, F128, __extendhftf2) -//HANDLE_LIBCALL(F16, F80, __extendhfxf2) -//HANDLE_LIBCALL(F80, F16, __truncxfhf2) -//HANDLE_LIBCALL(F128, F16, __trunctfhf2) -//HANDLE_LIBCALL(PPCF128, F16, __trunctfhf2) -//HANDLE_LIBCALL(F16, I128, __fixhfti) -//HANDLE_LIBCALL(F16, I128, __fixunshfti) -//HANDLE_LIBCALL(I128, F16, __floattihf) -//HANDLE_LIBCALL(I128, F16, __floatuntihf) - +#endif // run time version of bitcast intrinsic JL_DLLEXPORT jl_value_t *jl_bitcast(jl_value_t *ty, jl_value_t *v) @@ -561,9 +551,9 @@ static inline unsigned select_by_size(unsigned sz) JL_NOTSAFEPOINT } #define fp_select(a, func) \ - sizeof(a) <= sizeof(float) ? func##f((float)a) : func(a) + sizeof(a) == sizeof(float) ? func##f((float)a) : func(a) #define fp_select2(a, b, func) \ - sizeof(a) <= sizeof(float) ? func##f(a, b) : func(a, b) + sizeof(a) == sizeof(float) ? func##f(a, b) : func(a, b) // fast-function generators // @@ -607,11 +597,11 @@ static inline void name(unsigned osize, void *pa, void *pr) JL_NOTSAFEPOINT \ static inline void name(unsigned osize, void *pa, void *pr) JL_NOTSAFEPOINT \ { \ uint16_t a = *(uint16_t*)pa; \ - float A = julia__gnu_h2f_ieee(a); \ + float A = __gnu_h2f_ieee(a); \ if (osize == 16) { \ float R; \ OP(&R, A); \ - *(uint16_t*)pr = julia__gnu_f2h_ieee(R); \ + *(uint16_t*)pr = __gnu_f2h_ieee(R); \ } else { \ OP((uint16_t*)pr, A); \ } \ @@ -635,11 +625,11 @@ static void jl_##name##16(unsigned runtime_nbits, void *pa, void *pb, void *pr) { \ uint16_t a = *(uint16_t*)pa; \ uint16_t b = *(uint16_t*)pb; \ - float A = julia__gnu_h2f_ieee(a); \ - float B = julia__gnu_h2f_ieee(b); \ + float A = __gnu_h2f_ieee(a); \ + float B = __gnu_h2f_ieee(b); \ runtime_nbits = 16; \ float R = OP(A, B); \ - *(uint16_t*)pr = julia__gnu_f2h_ieee(R); \ + *(uint16_t*)pr = __gnu_f2h_ieee(R); \ } // float or integer inputs, bool output @@ -660,8 +650,8 @@ static int jl_##name##16(unsigned runtime_nbits, void *pa, void *pb) JL_NOTSAFEP { \ uint16_t a = *(uint16_t*)pa; \ uint16_t b = *(uint16_t*)pb; \ - float A = julia__gnu_h2f_ieee(a); \ - float B = julia__gnu_h2f_ieee(b); \ + float A = __gnu_h2f_ieee(a); \ + float B = __gnu_h2f_ieee(b); \ runtime_nbits = 16; \ return OP(A, B); \ } @@ -701,12 +691,12 @@ static void jl_##name##16(unsigned runtime_nbits, void *pa, void *pb, void *pc, uint16_t a = *(uint16_t*)pa; \ uint16_t b = *(uint16_t*)pb; \ uint16_t c = *(uint16_t*)pc; \ - float A = julia__gnu_h2f_ieee(a); \ - float B = julia__gnu_h2f_ieee(b); \ - float C = julia__gnu_h2f_ieee(c); \ + float A = __gnu_h2f_ieee(a); \ + float B = __gnu_h2f_ieee(b); \ + float C = __gnu_h2f_ieee(c); \ runtime_nbits = 16; \ float R = OP(A, B, C); \ - *(uint16_t*)pr = julia__gnu_f2h_ieee(R); \ + *(uint16_t*)pr = __gnu_f2h_ieee(R); \ } @@ -1328,7 +1318,7 @@ static inline int fpiseq##nbits(c_type a, c_type b) JL_NOTSAFEPOINT { \ fpiseq_n(float, 32) fpiseq_n(double, 64) #define fpiseq(a,b) \ - sizeof(a) <= sizeof(float) ? fpiseq32(a, b) : fpiseq64(a, b) + sizeof(a) == sizeof(float) ? fpiseq32(a, b) : fpiseq64(a, b) bool_fintrinsic(eq,eq_float) bool_fintrinsic(ne,ne_float) @@ -1377,7 +1367,7 @@ cvt_iintrinsic(LLVMFPtoUI, fptoui) if (!(osize < 8 * sizeof(a))) \ jl_error("fptrunc: output bitsize must be < input bitsize"); \ else if (osize == 16) \ - *(uint16_t*)pr = julia__gnu_f2h_ieee(a); \ + *(uint16_t*)pr = __gnu_f2h_ieee(a); \ else if (osize == 32) \ *(float*)pr = a; \ else if (osize == 64) \ diff --git a/src/subtype.c b/src/subtype.c index c43d307e6d421..aea5b80a5cadf 100644 --- a/src/subtype.c +++ b/src/subtype.c @@ -1542,8 +1542,15 @@ static int obvious_subtype(jl_value_t *x, jl_value_t *y, jl_value_t *y0, int *su *subtype = 1; return 1; } - if (jl_is_unionall(x)) - x = jl_unwrap_unionall(x); + while (jl_is_unionall(x)) { + if (!jl_is_unionall(y)) { + if (obvious_subtype(jl_unwrap_unionall(x), y, y0, subtype) && !*subtype) + return 1; + return 0; + } + x = ((jl_unionall_t*)x)->body; + y = ((jl_unionall_t*)y)->body; + } if (jl_is_unionall(y)) y = jl_unwrap_unionall(y); if (x == (jl_value_t*)jl_typeofbottom_type->super) diff --git a/src/threading.c b/src/threading.c index 2f50783dafaf0..f6e053df410c5 100644 --- a/src/threading.c +++ b/src/threading.c @@ -289,6 +289,7 @@ void jl_pgcstack_getkey(jl_get_pgcstack_func **f, jl_pgcstack_key_t *k) jl_ptls_t *jl_all_tls_states JL_GLOBALLY_ROOTED; JL_DLLEXPORT _Atomic(uint8_t) jl_measure_compile_time_enabled = 0; JL_DLLEXPORT _Atomic(uint64_t) jl_cumulative_compile_time = 0; +JL_DLLEXPORT _Atomic(uint64_t) jl_cumulative_recompile_time = 0; // return calling thread's ID // Also update the suspended_threads list in signals-mach when changing the diff --git a/stdlib/InteractiveUtils/src/macros.jl b/stdlib/InteractiveUtils/src/macros.jl index 623873a3484b5..b0005e6d7d783 100644 --- a/stdlib/InteractiveUtils/src/macros.jl +++ b/stdlib/InteractiveUtils/src/macros.jl @@ -354,24 +354,34 @@ See also: [`code_native`](@ref), [`@code_llvm`](@ref), [`@code_typed`](@ref) and @time_imports A macro to execute an expression and produce a report of any time spent importing packages and their -dependencies. +dependencies. Any compilation time will be reported as a percentage, and how much of which was recompilation, if any. If a package's dependencies have already been imported either globally or by another dependency they will not appear under that package and the package will accurately report a faster load time than if it were to be loaded in isolation. +!!! compat "Julia 1.9" + Reporting of any compilation and recompilation time was added in Julia 1.9 + ```julia-repl julia> @time_imports using CSV - 3.5 ms ┌ IteratorInterfaceExtensions - 27.4 ms ┌ TableTraits - 614.0 ms ┌ SentinelArrays - 138.6 ms ┌ Parsers - 2.7 ms ┌ DataValueInterfaces - 3.4 ms ┌ DataAPI - 59.0 ms ┌ WeakRefStrings - 35.4 ms ┌ Tables - 49.5 ms ┌ PooledArrays - 972.1 ms CSV + 0.4 ms ┌ IteratorInterfaceExtensions + 11.1 ms ┌ TableTraits 84.88% compilation time + 145.4 ms ┌ SentinelArrays 66.73% compilation time + 42.3 ms ┌ Parsers 19.66% compilation time + 4.1 ms ┌ Compat + 8.2 ms ┌ OrderedCollections + 1.4 ms ┌ Zlib_jll + 2.3 ms ┌ TranscodingStreams + 6.1 ms ┌ CodecZlib + 0.3 ms ┌ DataValueInterfaces + 15.2 ms ┌ FilePathsBase 30.06% compilation time + 9.3 ms ┌ InlineStrings + 1.5 ms ┌ DataAPI + 31.4 ms ┌ WeakRefStrings + 14.8 ms ┌ Tables + 24.2 ms ┌ PooledArrays + 2002.4 ms CSV 83.49% compilation time ``` !!! note diff --git a/stdlib/InteractiveUtils/test/runtests.jl b/stdlib/InteractiveUtils/test/runtests.jl index 05e3a744644e1..4013eee1b54bc 100644 --- a/stdlib/InteractiveUtils/test/runtests.jl +++ b/stdlib/InteractiveUtils/test/runtests.jl @@ -641,7 +641,7 @@ end buf = read(fname) rm(fname) - @test occursin("ms Foo3242\n", String(buf)) + @test occursin("ms Foo3242", String(buf)) finally filter!((≠)(dir), LOAD_PATH) diff --git a/stdlib/LibCURL_jll/Project.toml b/stdlib/LibCURL_jll/Project.toml index e4da34909a7eb..3719fcbf37bef 100644 --- a/stdlib/LibCURL_jll/Project.toml +++ b/stdlib/LibCURL_jll/Project.toml @@ -1,6 +1,6 @@ name = "LibCURL_jll" uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" -version = "7.81.0+0" +version = "7.83.1+1" [deps] LibSSH2_jll = "29816b5a-b9ab-546f-933c-edad1886dfa8" diff --git a/stdlib/LinearAlgebra/src/diagonal.jl b/stdlib/LinearAlgebra/src/diagonal.jl index b06ccdd77cc57..4af42d8f53eb4 100644 --- a/stdlib/LinearAlgebra/src/diagonal.jl +++ b/stdlib/LinearAlgebra/src/diagonal.jl @@ -285,6 +285,7 @@ function *(D::Diagonal, transA::Transpose{<:Any,<:AbstractMatrix}) end @inline function __muldiag!(out, D::Diagonal, B, alpha, beta) + require_one_based_indexing(B) require_one_based_indexing(out) if iszero(alpha) _rmul_or_fill!(out, beta) @@ -306,6 +307,7 @@ end return out end @inline function __muldiag!(out, A, D::Diagonal, alpha, beta) + require_one_based_indexing(A) require_one_based_indexing(out) if iszero(alpha) _rmul_or_fill!(out, beta) diff --git a/stdlib/LinearAlgebra/test/diagonal.jl b/stdlib/LinearAlgebra/test/diagonal.jl index 8bc84d93c6348..2801332e840e6 100644 --- a/stdlib/LinearAlgebra/test/diagonal.jl +++ b/stdlib/LinearAlgebra/test/diagonal.jl @@ -9,6 +9,9 @@ const BASE_TEST_PATH = joinpath(Sys.BINDIR, "..", "share", "julia", "test") isdefined(Main, :Furlongs) || @eval Main include(joinpath($(BASE_TEST_PATH), "testhelpers", "Furlongs.jl")) using .Main.Furlongs +isdefined(Main, :OffsetArrays) || @eval Main include(joinpath($(BASE_TEST_PATH), "testhelpers", "OffsetArrays.jl")) +using .Main.OffsetArrays + n=12 #Size of matrix problem to test Random.seed!(1) @@ -785,6 +788,16 @@ end @test_throws DimensionMismatch lmul!(Diagonal([1]), [1,2,3]) # nearby end +@testset "Multiplication of a Diagonal with an OffsetArray" begin + # Offset indices should throw + D = Diagonal(1:4) + A = OffsetArray(rand(4,4), 2, 2) + @test_throws ArgumentError D * A + @test_throws ArgumentError A * D + @test_throws ArgumentError mul!(similar(A, size(A)), A, D) + @test_throws ArgumentError mul!(similar(A, size(A)), D, A) +end + @testset "Triangular division by Diagonal #27989" begin K = 5 for elty in (Float32, Float64, ComplexF32, ComplexF64) diff --git a/stdlib/Pkg.version b/stdlib/Pkg.version index b33656cecd56a..abaf21b3b6ba3 100644 --- a/stdlib/Pkg.version +++ b/stdlib/Pkg.version @@ -1,4 +1,4 @@ PKG_BRANCH = master -PKG_SHA1 = 7c1544f092a006556ce46dfaf9a93cb408b705d3 +PKG_SHA1 = f0bef8af0ab951d9cf3cceb3c709873737df9471 PKG_GIT_URL := https://github.com/JuliaLang/Pkg.jl.git PKG_TAR_URL = https://api.github.com/repos/JuliaLang/Pkg.jl/tarball/$1 diff --git a/stdlib/Profile/src/Profile.jl b/stdlib/Profile/src/Profile.jl index d3d5300c87527..e24544839fc5f 100644 --- a/stdlib/Profile/src/Profile.jl +++ b/stdlib/Profile/src/Profile.jl @@ -220,7 +220,7 @@ The keyword arguments can be any combination of: `:flatc` does the same but also includes collapsing of C frames (may do odd things around `jl_apply`). - `threads::Union{Int,AbstractVector{Int}}` -- Specify which threads to include snapshots from in the report. Note that - this does not control which threads samples are collected on. + this does not control which threads samples are collected on (which may also have been collected on another machine). - `tasks::Union{Int,AbstractVector{Int}}` -- Specify which tasks to include snapshots from in the report. Note that this does not control which tasks samples are collected within. @@ -238,7 +238,7 @@ function print(io::IO, sortedby::Symbol = :filefuncline, groupby::Union{Symbol,AbstractVector{Symbol}} = :none, recur::Symbol = :off, - threads::Union{Int,AbstractVector{Int}} = 1:Threads.nthreads(), + threads::Union{Int,AbstractVector{Int}} = 1:typemax(Int), tasks::Union{UInt,AbstractVector{UInt}} = typemin(UInt):typemax(UInt)) pf = ProfileFormat(;C, combine, maxdepth, mincount, noisefloor, sortedby, recur) diff --git a/stdlib/Profile/test/runtests.jl b/stdlib/Profile/test/runtests.jl index f8f8c52b93123..058158023cd25 100644 --- a/stdlib/Profile/test/runtests.jl +++ b/stdlib/Profile/test/runtests.jl @@ -64,8 +64,8 @@ end iobuf = IOBuffer() with_logger(NullLogger()) do @testset for format in [:flat, :tree] - @testset for threads in [1:Threads.nthreads(), 1, 1:1, 1:2, [1,2]] - @testset for groupby in [:none, :thread, :task, [:thread, :task], [:task, :thread]] + @testset for threads in Any[1:typemax(Int), 1, 1:1, 1:2, [1,2]] + @testset for groupby in Any[:none, :thread, :task, [:thread, :task], [:task, :thread]] Profile.print(iobuf; groupby, threads, format) @test !isempty(String(take!(iobuf))) end diff --git a/stdlib/Sockets/src/Sockets.jl b/stdlib/Sockets/src/Sockets.jl index 4b5518a1fde61..84fe351de99e1 100644 --- a/stdlib/Sockets/src/Sockets.jl +++ b/stdlib/Sockets/src/Sockets.jl @@ -626,7 +626,7 @@ listen(port::Integer; backlog::Integer=BACKLOG_DEFAULT) = listen(localhost, port listen(host::IPAddr, port::Integer; backlog::Integer=BACKLOG_DEFAULT) = listen(InetAddr(host, port); backlog=backlog) function listen(sock::LibuvServer; backlog::Integer=BACKLOG_DEFAULT) - uv_error("listen", trylisten(sock)) + uv_error("listen", trylisten(sock; backlog=backlog)) return sock end diff --git a/stdlib/libLLVM_jll/Project.toml b/stdlib/libLLVM_jll/Project.toml index 64de5adc434ba..cda68e4352d06 100644 --- a/stdlib/libLLVM_jll/Project.toml +++ b/stdlib/libLLVM_jll/Project.toml @@ -1,6 +1,6 @@ name = "libLLVM_jll" uuid = "8f36deef-c2a5-5394-99ed-8e07531fb29a" -version = "13.0.1+0" +version = "13.0.1+2" [deps] Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb" diff --git a/stdlib/libblastrampoline_jll/Project.toml b/stdlib/libblastrampoline_jll/Project.toml index 8b93e368f8f59..f4e1a12f93a1b 100644 --- a/stdlib/libblastrampoline_jll/Project.toml +++ b/stdlib/libblastrampoline_jll/Project.toml @@ -1,6 +1,6 @@ name = "libblastrampoline_jll" uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.1.0+0" +version = "5.1.1+0" [deps] Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb" diff --git a/test/TestPkg/Project.toml b/test/TestPkg/Project.toml index 0786722612bf3..0dfe48c3e9acb 100644 --- a/test/TestPkg/Project.toml +++ b/test/TestPkg/Project.toml @@ -1,6 +1,6 @@ name = "TestPkg" uuid = "69145d58-7df6-11e8-0660-cf7622583916" - +version = "1.2.3" [deps] Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" diff --git a/test/abstractarray.jl b/test/abstractarray.jl index cd084c747897c..a2894c139eeee 100644 --- a/test/abstractarray.jl +++ b/test/abstractarray.jl @@ -1465,9 +1465,7 @@ using Base: typed_hvncat v1 = zeros(Int, 0, 0, 0) for v2 ∈ (1, [1]) for v3 ∈ (2, [2]) - # current behavior, not potentially dangerous. - # should throw error like above loop - @test [v1 ;;; v2 v3] == [v2 v3;;;] + @test_throws ArgumentError [v1 ;;; v2 v3] @test_throws ArgumentError [v1 ;;; v2] @test_throws ArgumentError [v1 v1 ;;; v2 v3] end diff --git a/test/compiler/inference.jl b/test/compiler/inference.jl index e36ec80b9e728..7e1ea8f84b271 100644 --- a/test/compiler/inference.jl +++ b/test/compiler/inference.jl @@ -1564,6 +1564,17 @@ end @test arraysize_tfunc(Vector, Float64) === Union{} @test arraysize_tfunc(String, Int) === Union{} +let tuple_tfunc + function tuple_tfunc(@nospecialize xs...) + return Core.Compiler.tuple_tfunc(Any[xs...]) + end + @test Core.Compiler.widenconst(tuple_tfunc(Type{Int})) === Tuple{DataType} + # https://github.com/JuliaLang/julia/issues/44705 + @test tuple_tfunc(Union{Type{Int32},Type{Int64}}) === Tuple{Type} + @test tuple_tfunc(DataType) === Tuple{DataType} + @test tuple_tfunc(UnionAll) === Tuple{UnionAll} +end + function f23024(::Type{T}, ::Int) where T 1 + 1 end @@ -2084,7 +2095,7 @@ let M = Module() obj = $(Expr(:new, M.BePartialStruct, 42, :cond)) r1 = getfield(obj, :cond) ? 0 : a # r1::Union{Nothing,Int}, not r1::Int (because PartialStruct doesn't wrap Conditional) a = $(gensym(:anyvar))::Any - r2 = getfield(obj, :cond) ? a : nothing # r2::Any, not r2::Const(nothing) (we don't need to worry about constrait invalidation here) + r2 = getfield(obj, :cond) ? a : nothing # r2::Any, not r2::Const(nothing) (we don't need to worry about constraint invalidation here) return r1, r2 # ::Tuple{Union{Nothing,Int},Any} end |> only end @@ -4079,21 +4090,21 @@ const CONST_DICT = let d = Dict() end d end -Base.@assume_effects :total_may_throw getcharid(c) = CONST_DICT[c] +Base.@assume_effects :foldable getcharid(c) = CONST_DICT[c] @noinline callf(f, args...) = f(args...) function entry_to_be_invalidated(c) return callf(getcharid, c) end @test Base.infer_effects((Char,)) do x entry_to_be_invalidated(x) -end |> Core.Compiler.is_concrete_eval_eligible +end |> Core.Compiler.is_foldable @test fully_eliminated(; retval=97) do entry_to_be_invalidated('a') end getcharid(c) = CONST_DICT[c] # now this is not eligible for concrete evaluation @test Base.infer_effects((Char,)) do x entry_to_be_invalidated(x) -end |> !Core.Compiler.is_concrete_eval_eligible +end |> !Core.Compiler.is_foldable @test !fully_eliminated() do entry_to_be_invalidated('a') end diff --git a/test/compiler/inline.jl b/test/compiler/inline.jl index c3a8499b621a5..8318b733727d7 100644 --- a/test/compiler/inline.jl +++ b/test/compiler/inline.jl @@ -1089,7 +1089,7 @@ recur_termination22(x) = x * recur_termination21(x-1) end const ___CONST_DICT___ = Dict{Any,Any}(Symbol(c) => i for (i, c) in enumerate('a':'z')) -Base.@assume_effects :total_may_throw concrete_eval( +Base.@assume_effects :foldable concrete_eval( f, args...; kwargs...) = f(args...; kwargs...) @test fully_eliminated() do concrete_eval(getindex, ___CONST_DICT___, :a) diff --git a/test/loading.jl b/test/loading.jl index 7dd6ce2935be6..930894bebc8ab 100644 --- a/test/loading.jl +++ b/test/loading.jl @@ -652,6 +652,7 @@ finally Base.set_active_project(old_act_proj) popfirst!(LOAD_PATH) end +@test Base.pkgorigins[Base.PkgId(UUID("69145d58-7df6-11e8-0660-cf7622583916"), "TestPkg")].version == v"1.2.3" @testset "--project and JULIA_PROJECT paths should be absolutified" begin mktempdir() do dir; cd(dir) do diff --git a/test/misc.jl b/test/misc.jl index efc647667f4b6..acefe3981674c 100644 --- a/test/misc.jl +++ b/test/misc.jl @@ -334,24 +334,23 @@ function timev_macro_scope() end @test timev_macro_scope() == 1 -before = Base.cumulative_compile_time_ns_before(); +before_comp, before_recomp = Base.cumulative_compile_time_ns() # no need to turn timing on, @time will do that # exercise concurrent calls to `@time` for reentrant compilation time measurement. -t1 = @async @time begin - sleep(2) - @eval module M ; f(x,y) = x+y ; end - @eval M.f(2,3) -end -t2 = @async begin - sleep(1) - @time 2 + 2 +@sync begin + t1 = @async @time begin + sleep(2) + @eval module M ; f(x,y) = x+y ; end + @eval M.f(2,3) + end + t2 = @async begin + sleep(1) + @time 2 + 2 + end end -after = Base.cumulative_compile_time_ns_after(); -@test after >= before; - -# wait for completion of these tasks before restoring stdout, to suppress their @time prints. -wait(t1); wait(t2) +after_comp, after_recomp = Base.cumulative_compile_time_ns() # no need to turn timing off, @time will do that +@test after_comp >= before_comp; end # redirect_stdout diff --git a/test/precompile.jl b/test/precompile.jl index 5162d026628b7..a8937581cb5d0 100644 --- a/test/precompile.jl +++ b/test/precompile.jl @@ -313,8 +313,8 @@ precompile_test_harness(false) do dir # the module doesn't reload from the image: @test_warn "@ccallable was already defined for this method name" begin @test_logs (:warn, "Replacing module `$Foo_module`") begin - ms = Base._require_from_serialized(Base.PkgId(Foo), cachefile) - @test isa(ms, Array{Any,1}) + m = Base._require_from_serialized(Base.PkgId(Foo), cachefile) + @test isa(m, Module) end end diff --git a/test/subtype.jl b/test/subtype.jl index eff2c021b481f..b17f502bc2e00 100644 --- a/test/subtype.jl +++ b/test/subtype.jl @@ -1982,3 +1982,17 @@ end @test_throws TypeError(:typeassert, Type, Vararg{Int}) typeintersect(Int, Vararg{Int}) @test_throws TypeError(:typeassert, Type, 1) typeintersect(1, Int) @test_throws TypeError(:typeassert, Type, 1) typeintersect(Int, 1) + +let A = Tuple{typeof(identity), Type{Union{}}}, + B = Tuple{typeof(identity), typeof(Union{})} + @test A == B && (Base.isdispatchtuple(A) == Base.isdispatchtuple(B)) +end + +# issue #45703 +# requires assertions enabled (to catch discrepancy in obvious_subtype) +let T = TypeVar(:T, Real), + V = TypeVar(:V, AbstractVector{T}), + S = Type{Pair{T, V}} + @test !(UnionAll(T, UnionAll(V, UnionAll(T, Type{Pair{T, V}}))) <: UnionAll(T, UnionAll(V, Type{Pair{T, V}}))) + @test !(UnionAll(T, UnionAll(V, UnionAll(T, S))) <: UnionAll(T, UnionAll(V, S))) +end