diff --git a/.travis.yml b/.travis.yml index 078a9249e2f7a..1f45c08d32008 100644 --- a/.travis.yml +++ b/.travis.yml @@ -40,7 +40,7 @@ matrix: - gfortran-5 - os: osx env: ARCH="x86_64" - osx_image: xcode8 + osx_image: xcode8.3 cache: ccache branches: only: @@ -76,8 +76,8 @@ before_install: brew tap staticfloat/julia > /dev/null; brew rm --force $(brew deps --HEAD julia); brew install -v ccache gcc gmp mpfr pcre2 staticfloat/julia/openblas-julia staticfloat/julia/suite-sparse-julia staticfloat/juliadeps/libgfortran; - BUILDOPTS="-j3 USECLANG=1 USECCACHE=1 BINARYBUILDER_TRIPLET=x86_64-apple-darwin14 BINARYBUILDER_LLVM_ASSERTS=1"; - BUILDOPTS="$BUILDOPTS USE_BINARYBUILDER_LLVM=1 LLVM_CONFIG=$TRAVIS_BUILD_DIR/usr/tools/llvm-config LLVM_SIZE=$TRAVIS_BUILD_DIR/usr/tools/llvm-size"; + BUILDOPTS="-j3 USECLANG=1 USECCACHE=1 USE_BINARYBUILDER_LLVM=1 USE_BINARYBUILDER_OPENBLAS=1 BINARYBUILDER_LLVM_ASSERTS=1"; + BUILDOPTS="$BUILDOPTS LLVM_CONFIG=$TRAVIS_BUILD_DIR/usr/tools/llvm-config LLVM_SIZE=$TRAVIS_BUILD_DIR/usr/tools/llvm-size"; BUILDOPTS="$BUILDOPTS VERBOSE=1 USE_BLAS64=0 SUITESPARSE_INC=-I$(brew --prefix suite-sparse-julia)/include FORCE_ASSERTIONS=1"; BUILDOPTS="$BUILDOPTS LIBBLAS=-lopenblas LIBBLASNAME=libopenblas LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas"; for lib in SUITESPARSE BLAS LAPACK GMP MPFR LIBUNWIND; do diff --git a/Make.inc b/Make.inc index 81ff923156ed8..e9cb2411981e5 100644 --- a/Make.inc +++ b/Make.inc @@ -232,11 +232,10 @@ INSTALL_F := $(JULIAHOME)/contrib/install.sh 644 INSTALL_M := $(JULIAHOME)/contrib/install.sh 755 # BinaryBuilder options -# TODO: Autodiscover triplet +USE_BINARYBUILDER_OPENBLAS := 0 USE_BINARYBUILDER_LLVM := 0 # Use the Assertions build BINARYBUILDER_LLVM_ASSERTS := 0 -BINARYBUILDER_TRIPLET := # LLVM Options LLVMROOT := $(build_prefix) diff --git a/base/array.jl b/base/array.jl index f13c6ee08358e..6f39e525bc6d6 100644 --- a/base/array.jl +++ b/base/array.jl @@ -267,7 +267,7 @@ offset `do`. Return `dest`. """ function copyto!(dest::Array{T}, doffs::Integer, src::Array{T}, soffs::Integer, n::Integer) where T n == 0 && return dest - n > 0 || _throw_argerror(n) + n > 0 || _throw_argerror() if soffs < 1 || doffs < 1 || soffs+n-1 > length(src) || doffs+n-1 > length(dest) throw(BoundsError()) end @@ -276,10 +276,11 @@ function copyto!(dest::Array{T}, doffs::Integer, src::Array{T}, soffs::Integer, end # Outlining this because otherwise a catastrophic inference slowdown -# occurs, see discussion in #27874 -function _throw_argerror(n) +# occurs, see discussion in #27874. +# It is also mitigated by using a constant string. +function _throw_argerror() @_noinline_meta - throw(ArgumentError(string("tried to copy n=", n, " elements, but n should be nonnegative"))) + throw(ArgumentError("Number of elements to copy must be nonnegative.")) end copyto!(dest::Array{T}, src::Array{T}) where {T} = copyto!(dest, 1, src, 1, length(src)) diff --git a/base/checked.jl b/base/checked.jl index 9b11e13caf796..c6a77cacadbae 100644 --- a/base/checked.jl +++ b/base/checked.jl @@ -87,7 +87,7 @@ function checked_neg(x::T) where T<:Integer checked_sub(T(0), x) end throw_overflowerr_negation(x) = (@_noinline_meta; - throw(OverflowError("checked arithmetic: cannot compute -x for x = $x::$(typeof(x))"))) + throw(OverflowError(Base.invokelatest(string, "checked arithmetic: cannot compute -x for x = ", x, "::", typeof(x))))) if BrokenSignedInt != Union{} function checked_neg(x::BrokenSignedInt) r = -x @@ -151,7 +151,7 @@ end throw_overflowerr_binaryop(op, x, y) = (@_noinline_meta; - throw(OverflowError("$x $op $y overflowed for type $(typeof(x))"))) + throw(OverflowError(Base.invokelatest(string, x, " ", op, "y", " overflowed for type ", typeof(x))))) """ Base.checked_add(x, y) diff --git a/base/compiler/abstractinterpretation.jl b/base/compiler/abstractinterpretation.jl index b1fab2f0f4e69..b01ad3a271fca 100644 --- a/base/compiler/abstractinterpretation.jl +++ b/base/compiler/abstractinterpretation.jl @@ -405,12 +405,27 @@ function precise_container_type(@nospecialize(typ), vtypes::VarTable, sv::Infere end end return result - elseif isa(tti0, DataType) && tti0 <: Tuple - if isvatuple(tti0) && length(tti0.parameters) == 1 - return Any[Vararg{unwrapva(tti0.parameters[1])}] + elseif tti0 <: Tuple + if isa(tti0, DataType) + if isvatuple(tti0) && length(tti0.parameters) == 1 + return Any[Vararg{unwrapva(tti0.parameters[1])}] + else + return Any[ p for p in tti0.parameters ] + end + elseif !isa(tti, DataType) + return Any[Vararg{Any}] else - return Any[ p for p in tti0.parameters ] + len = length(tti.parameters) + last = tti.parameters[len] + va = isvarargtype(last) + elts = Any[ fieldtype(tti0, i) for i = 1:len ] + if va + elts[len] = Vararg{elts[len]} + end + return elts end + elseif tti0 === SimpleVector || tti0 === Any + return Any[Vararg{Any}] elseif tti0 <: Array return Any[Vararg{eltype(tti0)}] else diff --git a/base/compiler/ssair/passes.jl b/base/compiler/ssair/passes.jl index d291e85a661b8..63bd542157659 100644 --- a/base/compiler/ssair/passes.jl +++ b/base/compiler/ssair/passes.jl @@ -130,7 +130,7 @@ function simple_walk(compact::IncrementalCompact, @nospecialize(defssa#=::AnySSA return defssa end if isa(def.val, SSAValue) - if isa(defssa, OldSSAValue) && !already_inserted(compact, defssa) + if is_old(compact, defssa) defssa = OldSSAValue(def.val.id) else defssa = def.val @@ -191,7 +191,7 @@ function walk_to_defs(compact::IncrementalCompact, @nospecialize(defssa), @nospe collect(Iterators.filter(1:length(def.edges)) do n isassigned(def.values, n) || return false val = def.values[n] - if isa(defssa, OldSSAValue) && isa(val, SSAValue) + if is_old(compact, defssa) && isa(val, SSAValue) val = OldSSAValue(val.id) end edge_typ = widenconst(compact_exprtype(compact, val)) @@ -201,7 +201,7 @@ function walk_to_defs(compact::IncrementalCompact, @nospecialize(defssa), @nospe for n in possible_predecessors pred = def.edges[n] val = def.values[n] - if isa(defssa, OldSSAValue) && isa(val, SSAValue) + if is_old(compact, defssa) && isa(val, SSAValue) val = OldSSAValue(val.id) end if isa(val, AnySSAValue) @@ -281,7 +281,7 @@ function lift_leaves(compact::IncrementalCompact, @nospecialize(stmt), end if is_tuple_call(compact, def) && isa(field, Int) && 1 <= field < length(def.args) lifted = def.args[1+field] - if isa(leaf, OldSSAValue) && isa(lifted, SSAValue) + if is_old(compact, leaf) && isa(lifted, SSAValue) lifted = OldSSAValue(lifted.id) end if isa(lifted, GlobalRef) || isa(lifted, Expr) @@ -320,7 +320,7 @@ function lift_leaves(compact::IncrementalCompact, @nospecialize(stmt), compact[leaf] = def end lifted = def.args[1+field] - if isa(leaf, OldSSAValue) && isa(lifted, SSAValue) + if is_old(compact, leaf) && isa(lifted, SSAValue) lifted = OldSSAValue(lifted.id) end if isa(lifted, GlobalRef) || isa(lifted, Expr) @@ -339,7 +339,7 @@ function lift_leaves(compact::IncrementalCompact, @nospecialize(stmt), # N.B.: This can be a bit dangerous because it can lead to # infinite loops if we accidentally insert a node just ahead # of where we are - if isa(leaf, OldSSAValue) && (isa(field, Int) || isa(field, Symbol)) + if is_old(compact, leaf) && (isa(field, Int) || isa(field, Symbol)) (isa(typ, DataType) && (!typ.abstract)) || return nothing @assert !typ.mutable # If there's the potential for an undefref error on access, we cannot insert a getfield @@ -425,6 +425,12 @@ struct LiftedPhi need_argupdate::Bool end +function is_old(compact, @nospecialize(old_node_ssa)) + isa(old_node_ssa, OldSSAValue) && + !is_pending(compact, old_node_ssa) && + !already_inserted(compact, old_node_ssa) +end + function perform_lifting!(compact::IncrementalCompact, visited_phinodes::Vector{Any}, @nospecialize(cache_key), lifting_cache::IdDict{Pair{AnySSAValue, Any}, AnySSAValue}, @@ -455,7 +461,7 @@ function perform_lifting!(compact::IncrementalCompact, isassigned(old_node.values, i) || continue val = old_node.values[i] orig_val = val - if isa(old_node_ssa, OldSSAValue) && !is_pending(compact, old_node_ssa) && !already_inserted(compact, old_node_ssa) && isa(val, SSAValue) + if is_old(compact, old_node_ssa) && isa(val, SSAValue) val = OldSSAValue(val.id) end if isa(val, Union{NewSSAValue, SSAValue, OldSSAValue}) @@ -688,10 +694,14 @@ function getfield_elim_pass!(ir::IRCode, domtree::DomTree) compact[idx] = val === nothing ? nothing : val.x end - # Copy the use count, `finish` may modify it and for our predicate - # below we need it consistent with the state of the IR here. + + non_dce_finish!(compact) + # Copy the use count, `simple_dce!` may modify it and for our predicate + # below we need it consistent with the state of the IR here (after tracking + # phi node arguments, but before dce). used_ssas = copy(compact.used_ssas) - ir = finish(compact) + simple_dce!(compact) + ir = complete(compact) # Now go through any mutable structs and see which ones we can eliminate for (idx, (intermediaries, defuse)) in defuses intermediaries = collect(intermediaries) diff --git a/base/compiler/typeinfer.jl b/base/compiler/typeinfer.jl index ff9273de3cfd5..cdf56df177d09 100644 --- a/base/compiler/typeinfer.jl +++ b/base/compiler/typeinfer.jl @@ -633,7 +633,12 @@ end function return_type(@nospecialize(f), @nospecialize(t)) - params = Params(ccall(:jl_get_tls_world_age, UInt, ())) + world = ccall(:jl_get_tls_world_age, UInt, ()) + return ccall(:jl_call_in_typeinf_world, Any, (Ptr{Ptr{Cvoid}}, Cint), Any[_return_type, f, t, world], 4) +end + +function _return_type(@nospecialize(f), @nospecialize(t), world) + params = Params(world) rt = Union{} if isa(f, Builtin) rt = builtin_tfunction(f, Any[t.parameters...], nothing, params) diff --git a/base/show.jl b/base/show.jl index 164031b7a5884..2104858483f76 100644 --- a/base/show.jl +++ b/base/show.jl @@ -455,14 +455,14 @@ function show_type_name(io::IO, tn::Core.TypeName) globname = isdefined(tn, :mt) ? tn.mt.name : nothing globfunc = false if globname !== nothing - globname_str = string(globname) + globname_str = string(globname::Symbol) if ('#' ∉ globname_str && '@' ∉ globname_str && isdefined(tn, :module) && isbindingresolved(tn.module, globname) && isdefined(tn.module, globname) && isconcretetype(tn.wrapper) && isa(getfield(tn.module, globname), tn.wrapper)) globfunc = true end end - sym = globfunc ? globname : tn.name + sym = (globfunc ? globname : tn.name)::Symbol if get(io, :compact, false) if globfunc return print(io, "typeof(", sym, ")") diff --git a/base/strings/io.jl b/base/strings/io.jl index 71767cefb52af..7453845211148 100644 --- a/base/strings/io.jl +++ b/base/strings/io.jl @@ -105,6 +105,7 @@ end tostr_sizehint(x) = 8 tostr_sizehint(x::AbstractString) = lastindex(x) +tostr_sizehint(x::Union{String,SubString{String}}) = sizeof(x) tostr_sizehint(x::Float64) = 20 tostr_sizehint(x::Float32) = 12 diff --git a/base/subarray.jl b/base/subarray.jl index 2d6f8a709a642..3c3bb89d271f2 100644 --- a/base/subarray.jl +++ b/base/subarray.jl @@ -42,7 +42,7 @@ check_parent_index_match(parent, ::NTuple{N, Bool}) where {N} = # are inlined @inline Base.throw_boundserror(A::SubArray, I) = __subarray_throw_boundserror(typeof(A), A.parent, A.indices, A.offset1, A.stride1, I) -@noinline __subarray_throw_boundserror(T, parent, indices, offset1, stride1, I) = +@noinline __subarray_throw_boundserror(::Type{T}, parent, indices, offset1, stride1, I) where {T} = throw(BoundsError(T(parent, indices, offset1, stride1), I)) # This computes the linear indexing compatibility for a given tuple of indices diff --git a/contrib/fixup-libgfortran.sh b/contrib/fixup-libgfortran.sh index a994515d2356d..897c067de6a83 100755 --- a/contrib/fixup-libgfortran.sh +++ b/contrib/fixup-libgfortran.sh @@ -2,6 +2,7 @@ # This file is a part of Julia. License is MIT: https://julialang.org/license # Run as: fixup-libgfortran.sh [--verbose] <$private_libdir> +FC=${FC:-gfortran} # If we're invoked with "--verbose", create a `debug` function that prints stuff out if [ "$1" = "--verbose" ] || [ "$1" = "-v" ]; then @@ -22,7 +23,7 @@ if [ "$UNAME" = "Linux" ]; then elif [ "$UNAME" = "Darwin" ]; then SHLIB_EXT="dylib" else - echo "WARNING: Could not autodetect platform type ('uname -s' == $UNAME); assuming Linux" >&2 + echo "WARNING: Could not autodetect platform type ('uname -s' = $UNAME); assuming Linux" >&2 UNAME="Linux" SHLIB_EXT="so" fi @@ -41,6 +42,20 @@ find_shlib() fi } +find_shlib_dir() +{ + # Usually, on platforms like OSX we get full paths when linking. However, + # if we are inspecting, say, BinaryBuilder-built OpenBLAS libraries, we will + # only get something like `@rpath/libgfortran.5.dylib` when inspecting the + # libraries. We can, as a last resort, ask `$FC` directly what the full + # filepath for this library is, but only if we don't have a direct path to it: + if [ $(dirname "$1") = "@rpath" ]; then + dirname "$($FC -print-file-name="$(basename "$1")" 2>/dev/null)" + else + dirname "$1" 2>/dev/null + fi +} + # First, discover all the places where libgfortran/libgcc is, as well as their true SONAMES for lib in lapack blas openblas; do for private_libname in ${private_libdir}/lib$lib*.$SHLIB_EXT*; do @@ -51,10 +66,11 @@ for lib in lapack blas openblas; do LIBQUADMATH_PATH=$(find_shlib "$private_libname" libquadmath) # Take the directories, add them onto LIBGFORTRAN_DIRS, which we use to - # search for these libraries in the future. - LIBGFORTRAN_DIRS="$LIBGFORTRAN_DIRS $(dirname $LIBGFORTRAN_PATH 2>/dev/null)" - LIBGFORTRAN_DIRS="$LIBGFORTRAN_DIRS $(dirname $LIBGCC_PATH 2>/dev/null)" - LIBGFORTRAN_DIRS="$LIBGFORTRAN_DIRS $(dirname $LIBQUADMATH_PATH 2>/dev/null)" + # search for these libraries in the future. If there is no directory, try + # asking `$FC` where such a file could be found. + LIBGFORTRAN_DIRS="$LIBGFORTRAN_DIRS $(find_shlib_dir $LIBGFORTRAN_PATH)" + LIBGFORTRAN_DIRS="$LIBGFORTRAN_DIRS $(find_shlib_dir $LIBGCC_PATH)" + LIBGFORTRAN_DIRS="$LIBGFORTRAN_DIRS $(find_shlib_dir $LIBQUADMATH_PATH)" # Save the SONAMES LIBGFORTRAN_SONAMES="$LIBGFORTRAN_SONAMES $(basename "$LIBGFORTRAN_PATH")" diff --git a/contrib/normalize_triplet.py b/contrib/normalize_triplet.py new file mode 100755 index 0000000000000..8ac7e2553c291 --- /dev/null +++ b/contrib/normalize_triplet.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python + +import re, sys + +# This script designed to mimick `src/PlatformNames.jl` in `BinaryProvider.jl`, which has +# a method `platform_key_abi()` to parse uname-like output into something standarized. + +if len(sys.argv) < 2: + print("Usage: %s []") + sys.exit(1) + +arch_mapping = { + 'x86_64': '(x86_|amd)64', + 'i686': "i\\d86", + 'aarch64': "aarch64", + 'arm': "arm(v7l)?", + 'powerpc64le': "p(ower)?pc64le", +} +platform_mapping = { + 'darwin': "-apple-darwin[\\d\\.]*", + 'freebsd': "-(.*-)?freebsd[\\d\\.]*", + 'windows': "-w64-mingw32", + 'linux': "-(.*-)?linux", +} +libc_mapping = { + 'blank_libc': "", + 'gnu': "-gnu", + 'musl': "-musl", +} +call_abi_mapping = { + 'blank_call_abi': "", + 'eabihf': "eabihf", +} +gcc_version_mapping = { + 'blank_gcc': "", + 'gcc4': "-gcc4", + 'gcc7': "-gcc7", + 'gcc8': "-gcc8", +} +cxx_abi_mapping = { + 'blank_cxx_abi': "", + 'cxx03': "-cxx03", + 'cxx11': "-cxx11", +} + +# Helper function to collapse dictionary of mappings down into a regex of +# named capture groups joined by "|" operators +c = lambda mapping: "("+"|".join(["(?P<%s>%s)"%(k,v) for (k, v) in mapping.items()]) + ")" +mondo_regex = re.compile( + "^"+ + c(arch_mapping)+ + c(platform_mapping)+ + c(libc_mapping)+ + c(call_abi_mapping)+ + c(gcc_version_mapping)+ + c(cxx_abi_mapping)+ + "$" +) + +# Apply our mondo regex to our input: +m = mondo_regex.match(sys.argv[1]) +if m is None: + print("ERROR: Unmatchable platform string '%s'!"%(sys.argv[1])) + sys.exit(1) + +# Helper function to find the single named field within the giant regex +# that is not `nothing` for each mapping we give it. +def get_field(m, mapping): + g = m.groupdict() + for k in mapping: + if g[k] is not None: + return k + +arch = get_field(m, arch_mapping) +platform = get_field(m, platform_mapping) +libc = get_field(m, libc_mapping) +call_abi = get_field(m, call_abi_mapping) +gcc_version = get_field(m, gcc_version_mapping) +cxx_abi = get_field(m, cxx_abi_mapping) + +# The default libc on Linux is glibc +if platform == "linux" and libc == "blank_libc": + libc = "gnu" + +def r(x): + x = x.replace("blank_call_abi", "") + x = x.replace("blank_gcc", "") + x = x.replace("blank_cxx_abi", "") + x = x.replace("blank_libc", "") + return x + +def p(x): + # These contain characters that can't be easily represented as + # capture group names, unfortunately: + os_remapping = { + 'darwin': 'apple-darwin14', + 'windows': 'w64-mingw32', + 'freebsd': 'unknown-freebsd11.1', + } + x = r(x) + if x: + for k in os_remapping: + x = x.replace(k, os_remapping[k]) + return '-' + x + return x + +# If the user passes in a GCC version (like 8.2.0) use that to force a +# "-gcc8" tag at the end of the triplet, but only if it has otherwise +# not been specified +if gcc_version == "blank_gcc": + if len(sys.argv) == 3: + gcc_version = { + "4": "gcc4", + "5": "gcc4", + "6": "gcc4", + "7": "gcc7", + "8": "gcc8", + }[sys.argv[2][0]] + + +print(arch+p(platform)+p(libc)+r(call_abi)+p(gcc_version)+p(cxx_abi)) + +# Testing suite: +# triplets="i686-w64-mingw32 x86_64-pc-linux-musl arm-linux-musleabihf x86_64-linux-gnu arm-linux-gnueabihf x86_64-apple-darwin14 x86_64-unknown-freebsd11.1" +# for t in $triplets; do +# if [[ $(./normalize_triplet.py "$t") != "$t" ]]; then +# echo "ERROR: Failed test on $t" +# fi +# done diff --git a/contrib/refresh_bb_tarballs.sh b/contrib/refresh_bb_tarballs.sh new file mode 100755 index 0000000000000..9aac101b68e7d --- /dev/null +++ b/contrib/refresh_bb_tarballs.sh @@ -0,0 +1,31 @@ +#!/bin/sh + +# Get this list via: +# using BinaryBuilder +# print("TRIPLETS=\"$(join(triplet.(BinaryBuilder.supported_platforms()), " "))\"") +TRIPLETS="i686-linux-gnu x86_64-linux-gnu aarch64-linux-gnu arm-linux-gnueabihf powerpc64le-linux-gnu i686-linux-musl x86_64-linux-musl aarch64-linux-musl arm-linux-musleabihf x86_64-apple-darwin14 x86_64-unknown-freebsd11.1 i686-w64-mingw32 x86_64-w64-mingw32" + +# These are the projects currently using BinaryBuilder; both GCC-expanded and non-GCC-expanded: +BB_PROJECTS="llvm" +BB_GCC_EXPANDED_PROJECTS="openblas" + +# Get "contrib/" directory path +CONTRIB_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd) + +set -x +# For each triplet and each project, download the BB tarball and save its hash: +for triplet in ${TRIPLETS}; do + for proj in ${BB_PROJECTS}; do + PROJ="$(echo ${proj} | tr [a-z] [A-Z])" + make -C "${CONTRIB_DIR}/../deps" USE_BINARYBUILDER_${PROJ}=1 ${PROJ}_BB_TRIPLET=${triplet} distclean-${proj} + make -C "${CONTRIB_DIR}/../deps" USE_BINARYBUILDER_${PROJ}=1 ${PROJ}_BB_TRIPLET=${triplet} compile-${proj} + done + + for proj in ${BB_GCC_EXPANDED_PROJECTS}; do + PROJ="$(echo ${proj} | tr [a-z] [A-Z])" + for gcc in gcc4 gcc7 gcc8; do + make -C "${CONTRIB_DIR}/../deps" USE_BINARYBUILDER_${PROJ}=1 ${PROJ}_BB_TRIPLET=${triplet}-${gcc} distclean-${proj} + make -C "${CONTRIB_DIR}/../deps" USE_BINARYBUILDER_${PROJ}=1 ${PROJ}_BB_TRIPLET=${triplet}-${gcc} compile-${proj} + done + done +done diff --git a/contrib/windows/appveyor_build.sh b/contrib/windows/appveyor_build.sh index fa29774a4e63b..082d98c17d9b8 100755 --- a/contrib/windows/appveyor_build.sh +++ b/contrib/windows/appveyor_build.sh @@ -45,7 +45,6 @@ if [ "$ARCH" = x86_64 ]; then echo 'USE_BLAS64 = 1' >> Make.user echo 'LIBBLAS = -L$(JULIAHOME)/usr/bin -lopenblas64_' >> Make.user echo 'LIBBLASNAME = libopenblas64_' >> Make.user - echo 'BINARYBUILDER_TRIPLET = x86_64-w64-mingw32' >> Make.user else bits=32 archsuffix=86 @@ -53,7 +52,6 @@ else echo "override MARCH = pentium4" >> Make.user echo 'LIBBLAS = -L$(JULIAHOME)/usr/bin -lopenblas' >> Make.user echo 'LIBBLASNAME = libopenblas' >> Make.user - echo 'BINARYBUILDER_TRIPLET = i686-w64-mingw32' >> Make.user fi echo "override JULIA_CPU_TARGET=generic;native" >> Make.user @@ -198,8 +196,9 @@ if [ -n "$USEMSVC" ]; then else # Use BinaryBuilder echo 'USE_BINARYBUILDER_LLVM = 1' >> Make.user + echo 'USE_BINARYBUILDER_OPENBLAS = 1' >> Make.user echo 'BINARYBUILDER_LLVM_ASSERTS = 1' >> Make.user - echo 'override DEP_LIBS += llvm openlibm' >> Make.user + echo 'override DEP_LIBS += llvm openlibm openblas' >> Make.user export CCACHE_DIR=/cygdrive/c/ccache echo 'USECCACHE=1' >> Make.user make check-whitespace diff --git a/deps/Makefile b/deps/Makefile index a759218f6ca03..ba0bb685181db 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -12,6 +12,7 @@ include $(SRCDIR)/Versions.make include $(JULIAHOME)/Make.inc include $(SRCDIR)/tools/common.mk include $(SRCDIR)/tools/git-external.mk +include $(SRCDIR)/tools/bb-install.mk # Special comments: # diff --git a/deps/blas.mk b/deps/blas.mk index c025d4ac26e39..147a18b9bf9c8 100644 --- a/deps/blas.mk +++ b/deps/blas.mk @@ -92,8 +92,9 @@ endif # Do not overwrite the "-j" flag OPENBLAS_BUILD_OPTS += MAKE_NB_JOBS=0 +ifneq ($(USE_BINARYBUILDER_OPENBLAS), 1) + $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/build-configured: $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/source-extracted - perl -i -ple 's/^\s*(EXTRALIB\s*\+=\s*-lSystemStubs)\s*$$/# $$1/g' $(dir $<)/Makefile.system echo 1 > $@ $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/build-compiled: $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/build-configured @@ -194,3 +195,21 @@ configure-lapack: extract-lapack compile-lapack: $(BUILDDIR)/lapack-$(LAPACK_VER)/build-compiled fastcheck-lapack: check-lapack check-lapack: $(BUILDDIR)/lapack-$(LAPACK_VER)/build-checked + +else # USE_BINARYBUILDER_OPENBLAS + + +OPENBLAS_BB_URL_BASE := https://github.com/JuliaPackaging/Yggdrasil/releases/download/OpenBLAS-v$(OPENBLAS_VER)-$(OPENBLAS_BB_REL) +OPENBLAS_BB_NAME := OpenBLAS.v$(OPENBLAS_VER)-$(OPENBLAS_BB_REL) + +$(eval $(call bb-install,openblas,OPENBLAS,true)) +get-lapack: get-openblas +extract-lapack: extract-openblas +configure-lapack: configure-openblas +compile-lapack: compile-openblas +fastcheck-lapack: fastcheck-openblas +check-lapack: check-openblas +clean-lapack: clean-openblas +distclean-lapack: distclean-openblas +install-lapack: install-openblas +endif diff --git a/deps/checksums/LLVM.v6.0.1.aarch64-linux-gnu.tar.gz/md5 b/deps/checksums/LLVM.v6.0.1.aarch64-linux-gnu.tar.gz/md5 new file mode 100644 index 0000000000000..27d3b973b20a9 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.aarch64-linux-gnu.tar.gz/md5 @@ -0,0 +1 @@ +46152d2b14fd1a9b052e0dcf341fdc60 diff --git a/deps/checksums/LLVM.v6.0.1.aarch64-linux-gnu.tar.gz/sha512 b/deps/checksums/LLVM.v6.0.1.aarch64-linux-gnu.tar.gz/sha512 new file mode 100644 index 0000000000000..21a1fea1b3b80 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.aarch64-linux-gnu.tar.gz/sha512 @@ -0,0 +1 @@ +0d0f0a2331d5c4fe6b0b81ce1d03df73faa418308b6bb59a3a663d398bb33f95a03a882d2abe1f962c9dd58f063ab8f6d571a3e9df1951ede2b6594fdb1e34b9 diff --git a/deps/checksums/LLVM.v6.0.1.arm-linux-gnueabihf.tar.gz/md5 b/deps/checksums/LLVM.v6.0.1.arm-linux-gnueabihf.tar.gz/md5 new file mode 100644 index 0000000000000..9bafee5a23dce --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.arm-linux-gnueabihf.tar.gz/md5 @@ -0,0 +1 @@ +4969025231930de85f04ba2fcb15589a diff --git a/deps/checksums/LLVM.v6.0.1.arm-linux-gnueabihf.tar.gz/sha512 b/deps/checksums/LLVM.v6.0.1.arm-linux-gnueabihf.tar.gz/sha512 new file mode 100644 index 0000000000000..a4d47733d6f9f --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.arm-linux-gnueabihf.tar.gz/sha512 @@ -0,0 +1 @@ +ee1df591b443e75a6359f1ee72635925a60f1fde2a21c62f818d7eaedff4e8aacfef16a18e417f29ee02f3a5e972dd59a25bcea8b4822efb688ce18a744e24a5 diff --git a/deps/checksums/LLVM.v6.0.1.i686-linux-gnu.tar.gz/md5 b/deps/checksums/LLVM.v6.0.1.i686-linux-gnu.tar.gz/md5 new file mode 100644 index 0000000000000..3702585999c90 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.i686-linux-gnu.tar.gz/md5 @@ -0,0 +1 @@ +8dbfc95c4b69b3a6dee154d73865fff8 diff --git a/deps/checksums/LLVM.v6.0.1.i686-linux-gnu.tar.gz/sha512 b/deps/checksums/LLVM.v6.0.1.i686-linux-gnu.tar.gz/sha512 new file mode 100644 index 0000000000000..43632266302d1 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.i686-linux-gnu.tar.gz/sha512 @@ -0,0 +1 @@ +6cc8bb7d76c4d606f1b02d99d81d320c5498fa851bbaac284162ac9306c5e8b10db43f0411c0c0b6e778bbb88bd86ce33dbc4ff1bd74bc2610514a536af367b4 diff --git a/deps/checksums/LLVM.v6.0.1.i686-w64-mingw32.tar.gz/md5 b/deps/checksums/LLVM.v6.0.1.i686-w64-mingw32.tar.gz/md5 new file mode 100644 index 0000000000000..069cae96b15f5 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.i686-w64-mingw32.tar.gz/md5 @@ -0,0 +1 @@ +20ef707d38a3ea744cc5748170c09dad diff --git a/deps/checksums/LLVM.v6.0.1.i686-w64-mingw32.tar.gz/sha512 b/deps/checksums/LLVM.v6.0.1.i686-w64-mingw32.tar.gz/sha512 new file mode 100644 index 0000000000000..cad16a805c30e --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.i686-w64-mingw32.tar.gz/sha512 @@ -0,0 +1 @@ +84343663f17b6aeea6114478c35741b509ff696e6d042d8666aa52adc9ed17f64d90823123be7eaef367dacf34daf4466c83e662d2b5aa9046e950d1b611f831 diff --git a/deps/checksums/LLVM.v6.0.1.powerpc64le-linux-gnu.tar.gz/md5 b/deps/checksums/LLVM.v6.0.1.powerpc64le-linux-gnu.tar.gz/md5 new file mode 100644 index 0000000000000..4b8a47a1d79ed --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.powerpc64le-linux-gnu.tar.gz/md5 @@ -0,0 +1 @@ +19afaeb0632a880777b88482f69ccdfc diff --git a/deps/checksums/LLVM.v6.0.1.powerpc64le-linux-gnu.tar.gz/sha512 b/deps/checksums/LLVM.v6.0.1.powerpc64le-linux-gnu.tar.gz/sha512 new file mode 100644 index 0000000000000..c1183ce6d3b31 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.powerpc64le-linux-gnu.tar.gz/sha512 @@ -0,0 +1 @@ +3ecd22371aa4bb24b854467c40fa72d25e2e9d2f9e9b684b2d541d6003a151a763998b1a1171636207850f3f4da4656a4c62a4d7bc065d055b86f6380874e430 diff --git a/deps/checksums/LLVM.v6.0.1.x86_64-apple-darwin14.tar.gz/md5 b/deps/checksums/LLVM.v6.0.1.x86_64-apple-darwin14.tar.gz/md5 new file mode 100644 index 0000000000000..657e760ebe3df --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.x86_64-apple-darwin14.tar.gz/md5 @@ -0,0 +1 @@ +fba99debe20aa1a131f61c539cf66b73 diff --git a/deps/checksums/LLVM.v6.0.1.x86_64-apple-darwin14.tar.gz/sha512 b/deps/checksums/LLVM.v6.0.1.x86_64-apple-darwin14.tar.gz/sha512 new file mode 100644 index 0000000000000..484bc27299e2e --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.x86_64-apple-darwin14.tar.gz/sha512 @@ -0,0 +1 @@ +efc19110cd4b36a77249b20fb31b5b35cea0c0932d9ae8bb279064d93ead5869b608a27146a5f08e0aedde913bfa3435758e0a60b6e79087e3fbc2f61c7801ba diff --git a/deps/checksums/LLVM.v6.0.1.x86_64-linux-gnu.tar.gz/md5 b/deps/checksums/LLVM.v6.0.1.x86_64-linux-gnu.tar.gz/md5 new file mode 100644 index 0000000000000..8a99d684df419 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.x86_64-linux-gnu.tar.gz/md5 @@ -0,0 +1 @@ +287274fe536cb5b241d1fd84be23b874 diff --git a/deps/checksums/LLVM.v6.0.1.x86_64-linux-gnu.tar.gz/sha512 b/deps/checksums/LLVM.v6.0.1.x86_64-linux-gnu.tar.gz/sha512 new file mode 100644 index 0000000000000..851222926ac37 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.x86_64-linux-gnu.tar.gz/sha512 @@ -0,0 +1 @@ +9d1419e594c88b9ac4c64745a79292e8a83d3e1b21b65a24bb8531e19b5044d178b975acefe67a71b468282ffebac6a906213a4f7345d9e111c92441fd9b674e diff --git a/deps/checksums/LLVM.v6.0.1.x86_64-w64-mingw32.tar.gz/md5 b/deps/checksums/LLVM.v6.0.1.x86_64-w64-mingw32.tar.gz/md5 new file mode 100644 index 0000000000000..0230bce662d87 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.x86_64-w64-mingw32.tar.gz/md5 @@ -0,0 +1 @@ +f1c51ca218daf247a4119dfa68105ec5 diff --git a/deps/checksums/LLVM.v6.0.1.x86_64-w64-mingw32.tar.gz/sha512 b/deps/checksums/LLVM.v6.0.1.x86_64-w64-mingw32.tar.gz/sha512 new file mode 100644 index 0000000000000..6194e1f96dd77 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.x86_64-w64-mingw32.tar.gz/sha512 @@ -0,0 +1 @@ +355e10041f4827bcc3409312cc0d069c10d731b91c3afaf9905f72b321818102bfab7032340282a11e0ddb4b946fb8aff5c874b9f884a856e3743b394ad601b5 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..792f513b4167d --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +f088cf15546c4eedba5209b72a9f9ac5 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..c267d5a7ede11 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +7e43fa526bc31793a2b2a5c289cd8676741c01f2c5403da5da010dc057d8327dba46bbd6bbde6543d110f4c29529f344ed60c6648e8f0860e29b97b02b1900ec diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..c5bd2ae1f68df --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +92628223024ec50dd3a4f9951a519627 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..fb2ec47413c2e --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +83a3c1e457d1b3a5014171bfeb773cd6c9abbe0677f8825565c4b7dfe2c0006fa98432c9603fce65c0bfa303abfa1a5808215d83de0ce25cf82803c89ed090a7 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..1cce6f1bdc23e --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +311db7786512fd6d10d894aacf34585c diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..96fbf57bb0d07 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +a960332431e19c7c81c8fbfd25807dd36b76467783e88d6786390ed380e44d573e83c412e5676099f399dabdd122225dc592f6550ea548df4d5bb855e669a197 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..d02384e04ba5f --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +8a57c45906f45e3e23f45ad15342b86f diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..4c67392f1a146 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +e5746eacd59ab9d758a96887e704c3069756e64c492e803b39667c9fe0fb3f31630b107a8d3ed78d2f577998dcf05ef1b22635269f0b1d07f1f7a885c0a40de0 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..94b0a7869ca16 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +784b3804c06102a2a5e921045128141d diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..32b29be1c51b3 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +42d9a646b9bf334366c6e8f10f97095182cbfa20a1d81767d2c7840807c6b119ac680805a49422594964d1595d840189a0a4237b77aa996f421035f7fa0724df diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..f1609510e419c --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +80847101ea313e3481c6b1eca511edba diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..ab61a60182ca4 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +e213f0cccec17bcbc575a7892ebc3fef96fd7626af15dabe1e00d11dca1b7ecbdb703b76dded37567f01ad7c6c6bb1128d00deccea3f22b989e906331b90d048 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..807bf5843ec31 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +1725d3703e48a65202fd6a1b85939562 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..cb93ab0a43f0d --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +f0e37ff06cfe5e2e068209ae5606818e2237befb16df44fd37992d6fa4ab09f011163f1ee9bc7f402f01636e102a9aa76ab87b452739767ea5418504bb42e712 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..e6aa6406a6588 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +d04050d4950af260d50b2776fd9644be diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..2644cb0868c61 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +8fe6db1d9f89728dff78d00a3baac433f1cb49cb4f2b4137200a5adc7e09ec1e6defdfacde0ff8b4f116bccc119d7a2446f393d72915d1fb6196bc5eebe6dd3b diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..284204f72591b --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +27f231b907ad9eea5209e7162b7ee9ed diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..89d75e0da6d72 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +13651977b234fd69dd784d3b302d3cc86c01aa5c6feade2a89a2141c0ae8d3e69ae45d8c821efae20bc5fd287675b761923ebe9dd16a6e43ef82b3c39f78efc8 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..e482400f2299c --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +c46ce6edbc149e7e50746d36f5dd39be diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..ba3337631b0e8 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +47e476d9f53678e7831e585bc2bb9da6b5ca52691e534a4ef9a6e4b1d47dab863ea4f40cbc0f280a275ebfe7158502ad8e87c318a099969da86268494ad5cdec diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..b01ce44a9c815 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +7436441c3396058e64aecaed35e0aaf7 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..48a5845697314 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +1855fdc531d9e22a8ea7312d766e1557d8534dee3db2d500815b6a07975a715ebbaa905a7a8e61dc4f187295ef6ac0f1cb88d761b6b219c98723164ce037a701 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..86e3a719f00ce --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +f288cefa5efdf8198baa34f2926efb5f diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..e0942d9a7fb46 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +b64d8175bda0ef8f21913612118e2c778378edfd40076d5f4894d63f78275b6308b57fc398c818098c230d2cb5370c681348db01f894a36981315ed4fe231a75 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..67d9c67582570 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +c39eccd8437526a85d882b9361bf992f diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..1da2e5c7fc18d --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +5450c993b3a5d51263b4566f4216539ddfd68a9d320ac2d1acd667aab32cade6dc23d419eb6661fed1da735fe002a1c8174a1587c852291adcba79569ecfbd57 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..d95221396e26d --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +586864e85249190e75aee1ff9efac507 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..5679d3ca77038 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +99efda0f03a13663515451a8bd16dd0db575c92cce469d6eaa8197f59a0f49b485eaafa9746dde9bc362208d1033e0981c4c113436cbf6992155a84579cc2258 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..4203ef9ece336 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +ed4247b9afeed44c4fe6a8936450db0d diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..3cf3d3638f50a --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +ee5427db88236f800721ae5f68996da346a79223a6fc5a4a77241a39462090e9d04617efbf7f9af533002b2394785c408d60cb6dfe8217da6d83f3386df583f6 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..3ac9903586820 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +0d5962eff8b08fa0bde0927ffba16ea6 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..97c5ff5c912c3 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +02a8ebd0172acf789b9f91b9289424185bfbd23c8f7844c31df13eb598d99dcc654fe9f3a3b034b56bad0cae5f88318610a0981aa40ab1304121c2bf4c86f79b diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..39b4cdc316f9e --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +8ed451829c335e9149fb8bb8450186d9 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..811f7ff115a51 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +975f17af10e9d3404d22bd85e2420594d84c142a0223705293a7a4f1f0533ddde1d8cd61db5e6749e1b6f75080d02719bda13a8618e6b751aff257dc01d451f6 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..d8fc618464a41 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +2bd3407e74930750863ef732ed4c436e diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..b880d8f218b32 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +d4af029f0ae70604f69d757f8bd6c02ff597984bb130099a8755fe8660dad04b1a22dbeea4008b5ec9462b0508524b6091a380d509f195857de5c82c4b7b058d diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..8a7892b50611e --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +71fabfa2708eee2fc70d559059ea5292 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..1aa5a4b454695 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +5814455eb15782f69b60493e5d4fcc6525c2ae942c8c4836a422401be0f9d89ef581bd6e45a2d85f148ec97a64197159ad7a9a49302b190b0bc0e4f6457b62c0 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..2d6f900493ae0 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +6837acfadac6150ca5da993fbfe49524 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..e48dc0b46fb37 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +26724b8b34e1f435118636d767648c64e91e2f7a25393e5b685564b05d6960e41417a491477952c477ee623cfa66387d41ebde9267539261b851b66add1ba6ba diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..a5c3773388afe --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +bfb0a11291016152f5a8e7c7cd53b729 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..e91fe6d240b8d --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +64f4121b4d9e242f034630d446cb841f242e48165ca8e9026463c825d42b8cd2720045fcd46d630a402672ba0e06c6519cdec9d7b78d96ab7a0ee6f00fcaf4fd diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..456f9f875449c --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +212dbd606a757a433ca9b025b81d0b01 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..6542731f434f9 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +1aa3d9309b1d1fbcf9fb4c8c0c8e178aed264efe3b60a81ab35328939ae63b141e8d87de9abafac6c488ae8438f3550cccb05200b78e6994fdc4d8be478aade3 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..4ee77ca0fd4f0 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +d85de52c6b2d2163da276fec2fb853e2 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..1972a0e145120 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +35724cc9eead1a1b48c87b1f9924284382538904ba857778840258e98e45cc72898cac48736cd08007a20e9908a6f43ee26a3891e4de9e1d1988db3c4e140a70 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..0a1246c78259e --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +a064e25190a1b8e88e6ac5a23138b600 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..e5e889c7cf4c1 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +9cf9658fa77c61b7a2f462ef5ce4097b288579aeb6e19e2fb3f4bc2e2d2697be16febda65b92a4061e7c007b9b5a317e6c318e5e7c7deaabd84a5a382f7f74b8 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..a1ed52a7b2ee0 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +b45a0b6dbd411ca00674113086066fb1 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..62b089d98d99a --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +c3630ff607f78ec5007e72edec8c237ddd68b9b3bb5d15ce0695677d33107302aaca33e1fe7349762779a7ea327e6465a7edaeb114df44ff363074d8e69124fc diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..671eab75db79b --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +0914a5f99799b10515533d966088739a diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..3eef2762c12ed --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +160225f3afa22f1ce4698bea73597266a96a7483454283a5f17ab105731dadff7374b36e21b37eeff73afa9e725d224fb1e65262d2a737ff91a2e04825eddb5d diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..3a00ca0216ed2 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +7a19c9986027c6740d9ccf878fdf685a diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..3e0388b9e80c3 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +582b285d2bc3f5d6984a60646356efa2a17c198d598a47f5060638fdaaca814cff0035946b408707d7269bbb9d5f30ca0cf1cec72d98b1c1f5893d94b5bf0e69 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..95608d50b3a10 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +cf06a7c6dbe8e72f7faf0e8b8dc45b5b diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..729ca02670b8a --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +ee6c8d7ab063151cc31384c8b5aac09930e43ad47eaf88ea6becc3fe63b45502979b2510df9c64866e2fe843b6c996b6e8f6c580557765262f48ddf05711ac77 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..a18e2bfcd872a --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +dd83850d3dccaf8a86c1dc2c92bd2722 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..5aa3cbcd98e5c --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +f09ec01d77dd362afce2d801b07bbad3fd7bf4968f3675f7da199f6e36641fa4a1f39e0efdd29811f38af41e084a06999e183a5e9d8dd6b19ccc574009bbd56a diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..9c9dae5cf3eed --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +77dcaa22914d8a83bb430fa8da8f0e7d diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..01490f443b11f --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +b2b9141ca3ed0ffc7e6b65b6e066d7c18fd9d2db4cde0ffdf3ad4dfa6d6c6c2a0d58986e611d6628e36644f3fb50a844aac9a8b5aa2a70e29a26005b019a2592 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..dfd30fccb742d --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +21124a1f217460744ef6613d1227da03 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..1d74b2061dbb1 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +fddebd7bbd1e67e1ce3fb9887b2bfbdba53452ab445d25a718d6369a9d91957b45fbca24f246d2823bfcf51a1aa8f9bc3530f43cf66d7915e01da8810041342d diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..d73728859785f --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +a5203a3d0101c0f8af922ca4d9e9f63d diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..2b3a6f1a7dbae --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +209107bb4d61494a90f7efecfaeb2074183e1f0ca4b28e6caf1bd87fd356ba7f82ba4ad34e9e34a27669ee55f9df38bb831bcc9c3ca3f4f45aacc1d1747cd2b5 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..8835978052e1b --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +25b669075a95cdaf89f15970125d1f61 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..0f4bdbdb92d75 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +62dcd6e02b4d175eb2cf4a66fbd0bdc53b42e5cf7d710b999cf82cefe96abffe017b7e02821ea9f8da610d64a671414b92b8ae66750c0d828573f0c30161b223 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..35fc9d28191e7 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +6f18d278fde2b975a87eb4bc4713535a diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..565dd9928a980 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +6fed03c459cf4eb0237d838da1e0dfb2f57d6f13a345e74a4e7bdd0f11ef487646d00c1741a8965a2a05abdf61b4ed517a1bf955e5f8a93b590ed7824543d5da diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..c2c8e742da8da --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +4adce6ef2ba3b74ae180302d511144de diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..0608e8a46d6fc --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +ca43770bbb021a0ffb2847bf45fbaa4d9b8fff78bc201094adf4dac1df4e5db52eee2646155c415fc9b5a0e419426f335b246c90c193c423cce86def172b034f diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..e228b6bb332db --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +e88ac7a195ddb48f71ecd13d91e62cf0 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..0ef69f1f9b025 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +0a73eec901c3470c354468e0b961325eda1a1515dcbe9f25528856390eecf21f81fec37def9f9e1661ec84db1a4fa782a4607d16805661c743bd978050f82d6a diff --git a/deps/llvm.mk b/deps/llvm.mk index bfef4d51abdec..c516b577f6269 100644 --- a/deps/llvm.mk +++ b/deps/llvm.mk @@ -513,37 +513,12 @@ ifeq ($(USE_POLLY),1) endif endif else # USE_BINARYBUILDER_LLVM -LLVM_BB_URL_BASE := https://github.com/staticfloat/LLVMBuilder/releases/download +LLVM_BB_URL_BASE := https://github.com/staticfloat/LLVMBuilder/releases/download/v$(LLVM_VER)-$(LLVM_BB_REL) ifneq ($(BINARYBUILDER_LLVM_ASSERTS), 1) -LLVM_BB_NAME := LLVM +LLVM_BB_NAME := LLVM.v$(LLVM_VER) else -LLVM_BB_NAME := LLVM.asserts +LLVM_BB_NAME := LLVM.asserts.v$(LLVM_VER) endif -LLVM_BB_NAME := $(LLVM_BB_NAME).v$(LLVM_VER) -LLVM_BB_URL := $(LLVM_BB_URL_BASE)/v$(LLVM_VER)-$(LLVM_BB_REL)/$(LLVM_BB_NAME).$(BINARYBUILDER_TRIPLET).tar.gz - -$(BUILDDIR)/llvm-$(LLVM_VER)-$(LLVM_BB_REL): - mkdir -p $@ - -$(BUILDDIR)/llvm-$(LLVM_VER)-$(LLVM_BB_REL)/LLVM.$(BINARYBUILDER_TRIPLET).tar.gz: | $(BUILDDIR)/llvm-$(LLVM_VER)-$(LLVM_BB_REL) - $(JLDOWNLOAD) $@ $(LLVM_BB_URL) - -$(BUILDDIR)/llvm-$(LLVM_VER)-$(LLVM_BB_REL)/build-compiled: | $(BUILDDIR)/llvm-$(LLVM_VER)-$(LLVM_BB_REL)/LLVM.$(BINARYBUILDER_TRIPLET).tar.gz - echo 1 > $@ - -$(eval $(call staged-install,llvm,llvm-$$(LLVM_VER)-$$(LLVM_BB_REL),,,,)) - -#Override provision of stage tarball -$(build_staging)/llvm-$(LLVM_VER)-$(LLVM_BB_REL).tgz: $(BUILDDIR)/llvm-$(LLVM_VER)-$(LLVM_BB_REL)/LLVM.$(BINARYBUILDER_TRIPLET).tar.gz | $(build_staging) - cp $< $@ - -clean-llvm: -distclean-llvm: -get-llvm: $(BUILDDIR)/llvm-$(LLVM_VER)-$(LLVM_BB_REL)/LLVM.$(BINARYBUILDER_TRIPLET).tar.gz -extract-llvm: -configure-llvm: -compile-llvm: -fastcheck-llvm: -check-llvm: +$(eval $(call bb-install,llvm,LLVM,false)) endif # USE_BINARYBUILDER_LLVM diff --git a/deps/openblas.version b/deps/openblas.version index fd259abbf7dc4..889bae7c4c860 100644 --- a/deps/openblas.version +++ b/deps/openblas.version @@ -1,2 +1,4 @@ OPENBLAS_BRANCH=v0.3.3 OPENBLAS_SHA1=fd8d1868a126bb9f12bbc43b36ee30d1ba943fbb +OPENBLAS_VER=0.3.3 +OPENBLAS_BB_REL=0 diff --git a/deps/tools/bb-install.mk b/deps/tools/bb-install.mk new file mode 100644 index 0000000000000..24e3e7232d4d8 --- /dev/null +++ b/deps/tools/bb-install.mk @@ -0,0 +1,42 @@ +define bb-install +# If the user has signified that this is a GCC-multiversioned tarball, then generate the proper tarball +ifeq ($(3),true) +$(2)_BB_TRIPLET := $(shell python $(call cygpath_w,$(JULIAHOME)/contrib/normalize_triplet.py) $(or $(XC_HOST),$(XC_HOST),$(BUILD_MACHINE)) "$(lastword $(shell $(FC) --version | head -1))") +else +$(2)_BB_TRIPLET := $(shell python $(call cygpath_w,$(JULIAHOME)/contrib/normalize_triplet.py) $(or $(XC_HOST),$(XC_HOST),$(BUILD_MACHINE))) +endif +$(2)_BB_URL := $$($(2)_BB_URL_BASE)/$$($(2)_BB_NAME).$$($(2)_BB_TRIPLET).tar.gz +$(2)_BB_BASENAME := $$(shell basename $$($(2)_BB_URL)) + +$$(BUILDDIR)/$$($(2)_BB_NAME): + mkdir -p $$@ + +$$(SRCCACHE)/$$($(2)_BB_BASENAME): | $$(SRCCACHE) + $$(JLDOWNLOAD) $$@ $$($(2)_BB_URL) + +$$(BUILDDIR)/$$($(2)_BB_NAME)/build-compiled: $$(BUILDDIR)/$$($(2)_BB_NAME) | $$(SRCCACHE)/$$($(2)_BB_BASENAME) + $$(JLCHECKSUM) $$(SRCCACHE)/$$($(2)_BB_BASENAME) + echo 1 > $$@ + +$$(eval $$(call staged-install,$(1),$$($(2)_BB_NAME),,,,)) + +#Override provision of stage tarball +$$(build_staging)/$$($(2)_BB_NAME).tgz: $$(SRCCACHE)/$$($(2)_BB_BASENAME) | $$(build_staging) + cp $$< $$@ + +clean-bb-$(1): + rm -f $$(build_staging)/$$($(2)_BB_BASENAME) + rm -f $$(BUILDDIR)/$$($(2)_BB_NAME)/build-compiled + +clean-$(1): clean-bb-$(1) +distclean-$(1): clean-bb-$(1) +get-$(1): $$(SRCCACHE)/$$($(2)_BB_BASENAME) +extract-$(1): +configure-$(1): +compile-$(1): $$(BUILDDIR)/$$($(2)_BB_NAME)/build-compiled +install-$(1): compile-$(1) +fastcheck-$(1): +check-$(1): + +.PHONY: clean-bb-$(1) +endef diff --git a/src/gf.c b/src/gf.c index 4c8ae077192c1..78e9bfa40e758 100644 --- a/src/gf.c +++ b/src/gf.c @@ -300,6 +300,16 @@ jl_code_info_t *jl_type_infer(jl_method_instance_t **pli JL_ROOTS_TEMPORARILY, s return src; } +JL_DLLEXPORT jl_value_t *jl_call_in_typeinf_world(jl_value_t **args, int nargs) +{ + jl_ptls_t ptls = jl_get_ptls_states(); + size_t last_age = ptls->world_age; + ptls->world_age = jl_typeinf_world; + jl_value_t *ret = jl_apply(args, nargs); + ptls->world_age = last_age; + return ret; +} + int jl_is_rettype_inferred(jl_method_instance_t *li) JL_NOTSAFEPOINT { if (!li->inferred) diff --git a/stdlib/Distributed/src/managers.jl b/stdlib/Distributed/src/managers.jl index 3bc838750ab71..c782279788a13 100644 --- a/stdlib/Distributed/src/managers.jl +++ b/stdlib/Distributed/src/managers.jl @@ -373,7 +373,7 @@ manage struct DefaultClusterManager <: ClusterManager end -const tunnel_hosts_map = Dict{AbstractString, Semaphore}() +const tunnel_hosts_map = Dict{String, Semaphore}() """ connect(manager::ClusterManager, pid::Int, config::WorkerConfig) -> (instrm::IO, outstrm::IO) diff --git a/test/compiler/irpasses.jl b/test/compiler/irpasses.jl index 77f75958fd837..12b299b7b1d91 100644 --- a/test/compiler/irpasses.jl +++ b/test/compiler/irpasses.jl @@ -37,3 +37,55 @@ let m = Meta.@lower 1 + 1 Core.Compiler.verify_ir(ir) @test isa(ir.stmts[3], Core.PhiNode) && length(ir.stmts[3].edges) == 1 end + +# Tests for SROA + +mutable struct Foo30594; x::Float64; end +Base.copy(x::Foo30594) = Foo30594(x.x) +function add!(p::Foo30594, off::Foo30594) + p.x += off.x + return p +end +Base.:(+)(a::Foo30594, b::Foo30594) = add!(copy(a), b) + +let results = Float64[] + @noinline use30594(x) = push!(results, x.x); nothing + function foo30594(cnt::Int, dx::Int) + step = Foo30594(dx) + curr = step + Foo30594(1) + for i in 1:cnt + use30594(curr) + curr = curr + step + end + nothing + end + + foo30594(4, -1) + @test results == [0.0, -1.0, -2.0, -3.0] +end + +# Issue #29983 +# This one is a bit hard to trigger, but the key is to create a case +# where SROA needs to introduce an intermediate type-unstable phi node +struct Foo29983{T} + x::Tuple{T} +end +struct Bar29983{S} + x::S +end +Base.:+(a::T, b::Bar29983{S}) where {T, S} = Bar29983(a + b.x) +Base.:+(a::Bar29983{S}, b::T) where {T, S} = b + a +Base.:+(a::Bar29983{S}, b::Bar29983{T}) where {T, S} = Bar29983(a.x + b.x) +Base.:+(a::Foo29983, b::Foo29983) = Foo29983((a.x[1] + b.x[1],)) + +function f(x::Vector{T}) where {T} + x1 = Foo29983((x[1],)) + la1 = Foo29983((x[1],)) + f1 = Foo29983((0,)) + for _ in 1:2 + f1 += la1 + end + return f1 +end + +@test f([Bar29983(1.0)]).x[1].x == 2.0