Skip to content

Commit d4749d2

Browse files
committed
Merge pull request #14623 from JuliaLang/llvm37
Upgrade to LLVM 3.7.1 and switch over CI
2 parents 0a00109 + 7725b8e commit d4749d2

File tree

19 files changed

+27
-42
lines changed

19 files changed

+27
-42
lines changed

.travis.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ matrix:
2929
- bar
3030
- g++-5
3131
- gfortran-5
32-
- os: osx
33-
env: ARCH="x86_64"
32+
# - os: osx # TODO: turn this back on once it's fast enough to not time out
33+
# env: ARCH="x86_64"
3434
cache:
3535
directories:
3636
- $TRAVIS_BUILD_DIR/deps/srccache
@@ -63,12 +63,12 @@ before_install:
6363
brew tap staticfloat/julia;
6464
brew rm --force $(brew deps --HEAD julia);
6565
brew install -v --only-dependencies --HEAD julia;
66-
brew install -v llvm33-julia;
67-
BUILDOPTS="-j3 USECLANG=1 LLVM_CONFIG=$(brew --prefix llvm33-julia)/bin/llvm-config-3.3 VERBOSE=1 USE_BLAS64=0 SUITESPARSE_INC=-I$(brew --prefix suite-sparse-julia)/include FORCE_ASSERTIONS=1 STAGE2_DEPS=utf8proc";
66+
BUILDOPTS="-j3 USECLANG=1 LLVM_CONFIG=$(brew --prefix llvm37-julia)/bin/llvm-config-3.7.1 VERBOSE=1 USE_BLAS64=0 SUITESPARSE_INC=-I$(brew --prefix suite-sparse-julia)/include FORCE_ASSERTIONS=1 STAGE2_DEPS=utf8proc";
6867
BUILDOPTS="$BUILDOPTS LIBBLAS=-lopenblas LIBBLASNAME=libopenblas LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas";
6968
for lib in LLVM SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND LIBGIT2; do
7069
export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1";
7170
done;
71+
export CXXFLAGS=-DUSE_ORCJIT;
7272
export LDFLAGS="-L$(brew --prefix openblas-julia)/lib -L$(brew --prefix suite-sparse-julia)/lib";
7373
export DYLD_FALLBACK_LIBRARY_PATH="/usr/local/lib:/lib:/usr/lib:$(brew --prefix openblas-julia)/lib:$(brew --prefix suite-sparse-julia)/lib:$(brew --prefix arpack-julia)/lib";
7474
make $BUILDOPTS -C contrib -f repackage_system_suitesparse4.make;

LICENSE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ for exceptions.
2929
3030
Julia includes code from the following projects, which have their own licenses:
3131
- [LDC](https://github.com/ldc-developers/ldc/blob/master/LICENSE) (for ccall/cfunction ABI definitions) [BSD-3]. The portion of code that Julia uses from LDC is [BSD-3] licensed.
32-
- [LLVM](http://llvm.org/releases/3.3/LICENSE.TXT) (for parts of src/jitlayers.cpp and src/disasm.cpp) [BSD-3, effectively]
32+
- [LLVM](http://llvm.org/releases/3.7.0/LICENSE.TXT) (for parts of src/jitlayers.cpp and src/disasm.cpp) [BSD-3, effectively]
3333
- [MUSL](http://git.musl-libc.org/cgit/musl/tree/COPYRIGHT) (for getopt implementations on Windows) [MIT]
3434
- [NetBSD](http://www.netbsd.org/about/redistribution.html) (for setjmp, longjmp, and strptime implementations on Windows) [BSD-3]
3535

@@ -39,7 +39,7 @@ own licenses:
3939
- [FEMTOLISP](https://github.com/JeffBezanson/femtolisp) [BSD-3]
4040
- [LIBUNWIND](http://git.savannah.gnu.org/gitweb/?p=libunwind.git;a=blob_plain;f=LICENSE;hb=master) [MIT]
4141
- [LIBUV](https://github.com/joyent/libuv/blob/master/LICENSE) [MIT]
42-
- [LLVM](http://llvm.org/releases/3.3/LICENSE.TXT) [BSD-3, effectively]
42+
- [LLVM](http://llvm.org/releases/3.7.0/LICENSE.TXT) [BSD-3, effectively]
4343
- [UTF8PROC](https://github.com/JuliaLang/libmojibake) [MIT]
4444

4545

Make.inc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -603,7 +603,6 @@ JCFLAGS += -fsigned-char
603603

604604
LLVM_ASSERTIONS=1
605605
#LLVM_FLAGS+="--with-float=hard --with-abi=aapcs-vfp"
606-
LLVM_VER:=3.7.1
607606

608607
override USE_BLAS64:=0
609608
override OPENBLAS_DYNAMIC_ARCH:=0

Make.powerpc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ ifeq ($(USE_SYSTEM_LLVM),1)
2424
LLVM_CONFIG=llvm-config-3.5
2525
else
2626
LLVM_ASSERTIONS=1
27-
LLVM_VER=3.7.1
28-
LLVM_ASSERTIONS=1
2927
endif
3028

3129
# On a newly allocated machine, you'll need the following dependencies:

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ Building Julia requires that the following software be installed:
267267

268268
Julia uses the following external libraries, which are automatically downloaded (or in a few cases, included in the Julia source repository) and then compiled from source the first time you run `make`:
269269

270-
- **[LLVM]** (3.3) — compiler infrastructure. (3.4 not supported; 3.5+ mostly supported, [with caveats](https://github.com/JuliaLang/julia/issues/9336))
270+
- **[LLVM]** (3.7) — compiler infrastructure.
271271
- **[FemtoLisp]** — packaged with Julia source, and used to implement the compiler front-end.
272272
- **[libuv]** — portable, high-performance event-based I/O library
273273
- **[OpenLibm]** — portable libm library containing elementary math functions.

appveyor.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ cache:
3131
# Cache any downloads from sourceforge because it's really unreliable
3232
- i686-4.9.2-release-win32-sjlj-rt_v4-rev3.7z
3333
- x86_64-4.9.2-release-win32-seh-rt_v4-rev3.7z
34-
- llvm-3.3-i686-w64-mingw32-juliadeps.7z
35-
- llvm-3.3-x86_64-w64-mingw32-juliadeps.7z
34+
- llvm-3.7.1-i686-w64-mingw32-juliadeps-r03.7z
35+
- llvm-3.7.1-x86_64-w64-mingw32-juliadeps-r03.7z
3636

3737
build_script:
3838
# If there's a newer build queued for the same PR, cancel this one

contrib/windows/msys_build.sh

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,11 +118,7 @@ if [ -z "$USEMSVC" ]; then
118118
fi
119119
export AR=${CROSS_COMPILE}ar
120120

121-
f=llvm-3.3-$ARCH-w64-mingw32-juliadeps.7z
122-
# The MinGW binary version of LLVM doesn't include libgtest or libgtest_main
123-
mkdir -p usr/lib
124-
$AR cr usr/lib/libgtest.a
125-
$AR cr usr/lib/libgtest_main.a
121+
f=llvm-3.7.1-$ARCH-w64-mingw32-juliadeps-r03.7z
126122
else
127123
echo "override USEMSVC = 1" >> Make.user
128124
echo "override ARCH = $ARCH" >> Make.user

deps/Makefile

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -347,37 +347,30 @@ LLVM_OBJ_SOURCE := $(LLVM_BUILD_DIR)/build_$(LLVM_BUILDTYPE)/$(LLVM_FLAVOR)/lib/
347347
endif
348348
LLVM_OBJ_TARGET := $(build_libdir)/$(LLVM_LIB_FILE)
349349

350-
ifneq ($(LLVM_VER),svn)
351350
ifeq ($(LLVM_VER), 3.3)
352-
LLVM_TAR:=$(SRCDIR)/srccache/llvm-$(LLVM_VER).src.tar.gz
351+
LLVM_TAR_EXT:=$(LLVM_VER).src.tar.gz
353352
else
354-
LLVM_TAR:=$(SRCDIR)/srccache/llvm-$(LLVM_VER).src.tar.xz
355-
endif
353+
LLVM_TAR_EXT:=$(LLVM_VER).src.tar.xz
354+
endif # LLVM_VER == 3.3
355+
356+
ifneq ($(LLVM_VER),svn)
357+
LLVM_TAR:=$(SRCDIR)/srccache/llvm-$(LLVM_TAR_EXT)
356358

357359
ifeq ($(BUILD_LLDB),1)
358-
ifeq ($(LLVM_VER), 3.3)
359-
LLVM_LLDB_TAR:=$(SRCDIR)/srccache/lldb-$(LLVM_VER).src.tar.gz
360-
else
361-
LLVM_LLDB_TAR:=$(SRCDIR)/srccache/lldb-$(LLVM_VER).src.tar.xz
362-
endif # LLVM_VER == 3.3
360+
LLVM_LLDB_TAR:=$(SRCDIR)/srccache/lldb-$(LLVM_TAR_EXT)
363361
endif # BUILD_LLDB
364362

365363
ifeq ($(BUILD_LLVM_CLANG),1)
366-
ifeq ($(LLVM_VER), 3.3)
367-
LLVM_CLANG_TAR:=$(SRCDIR)/srccache/cfe-$(LLVM_VER).src.tar.gz
368-
LLVM_COMPILER_RT_TAR:=$(SRCDIR)/srccache/compiler-rt-$(LLVM_VER).src.tar.gz
369-
else
370-
LLVM_CLANG_TAR:=$(SRCDIR)/srccache/cfe-$(LLVM_VER).src.tar.xz
371-
LLVM_COMPILER_RT_TAR:=$(SRCDIR)/srccache/compiler-rt-$(LLVM_VER).src.tar.xz
372-
endif # LLVM_VER
364+
LLVM_CLANG_TAR:=$(SRCDIR)/srccache/cfe-$(LLVM_TAR_EXT)
365+
LLVM_COMPILER_RT_TAR:=$(SRCDIR)/srccache/compiler-rt-$(LLVM_TAR_EXT)
373366
else
374367
LLVM_CLANG_TAR:=
375368
LLVM_COMPILER_RT_TAR:=
376369
LLVM_LIBCXX_TAR:=
377370
endif # BUILD_LLVM_CLANG
378371

379372
ifeq ($(BUILD_CUSTOM_LIBCXX),1)
380-
LLVM_LIBCXX_TAR:=$(SRCDIR)/srccache/libcxx-$(LLVM_VER).src.tar.gz
373+
LLVM_LIBCXX_TAR:=$(SRCDIR)/srccache/libcxx-$(LLVM_TAR_EXT)
381374
endif
382375
endif # LLVM_VER != svn
383376

@@ -387,7 +380,8 @@ LLVM_LDFLAGS := $(LDFLAGS)
387380
LLVM_TARGETS := host
388381
LLVM_TARGET_FLAGS := --enable-targets=$(LLVM_TARGETS)
389382
LLVM_CMAKE += -DLLVM_TARGETS_TO_BUILD:STRING="$(LLVM_TARGETS)" -DCMAKE_BUILD_TYPE="$(LLVM_BUILDTYPE)" -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON -DLLVM_DYLIB_EXPORT_ALL:BOOL=ON
390-
LLVM_FLAGS += --disable-profiling --enable-shared --enable-static $(LLVM_TARGET_FLAGS) --disable-bindings --disable-docs
383+
LLVM_FLAGS += --disable-profiling --enable-shared --enable-static $(LLVM_TARGET_FLAGS)
384+
LLVM_FLAGS += --disable-bindings --disable-docs --disable-libedit --disable-terminfo
391385
# LLVM has weird install prefixes (see llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE)/Makefile.config for the full list)
392386
# We map them here to the "normal" ones, which means just prefixing "PROJ_" to the variable name.
393387
LLVM_MFLAGS := PROJ_libdir=$(build_libdir) PROJ_bindir=$(build_bindir) PROJ_includedir=$(build_includedir)

deps/Versions.make

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
LLVM_VER = 3.3
1+
LLVM_VER = 3.7.1
22
LLVM_LIB_SUFFIX =
33
PCRE_VER = 10.20
44
DSFMT_VER = 2.2.3

deps/checksums/llvm-3.3-i686-w64-mingw32-juliadeps.7z/md5

Lines changed: 0 additions & 1 deletion
This file was deleted.

deps/checksums/llvm-3.3-i686-w64-mingw32-juliadeps.7z/sha512

Lines changed: 0 additions & 1 deletion
This file was deleted.

deps/checksums/llvm-3.3-x86_64-w64-mingw32-juliadeps.7z/md5

Lines changed: 0 additions & 1 deletion
This file was deleted.

deps/checksums/llvm-3.3-x86_64-w64-mingw32-juliadeps.7z/sha512

Lines changed: 0 additions & 1 deletion
This file was deleted.

deps/checksums/llvm-3.3.src.tar.gz/md5

Lines changed: 0 additions & 1 deletion
This file was deleted.

deps/checksums/llvm-3.3.src.tar.gz/sha512

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0ca00bce067fcd5250253cda895e2ebc
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
e1a86a4d173bf0ea7e8bb8490fa8d332933ae9c1ba90cdf769945e225e2554b3cc0387156a7a38f5f97e637b5da23d1b06b57dbe2bb2aeb9504cb4e12f73dab4
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2f28c7608cfe6a7bf0e07bd87453701d
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
644350781b69aa3be302c9acd6a616b6601236941e26e022988e56017b42be5afdc1da98bcd8f3d4a706fd85481913ad83d16cd37aefd549f28405a596f5ce7c

0 commit comments

Comments
 (0)