Skip to content
This repository was archived by the owner on Apr 12, 2019. It is now read-only.

Commit 82941f3

Browse files
committed
drop support for LLVM <6.0.0 throughout Julia
1 parent af3c452 commit 82941f3

File tree

84 files changed

+23
-28425
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+23
-28425
lines changed

base/atomics.jl

+3-6
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,8 @@ export
1414
atomic_max!, atomic_min!,
1515
atomic_fence
1616

17-
# Disable 128-bit types on 32-bit Intel systems due to LLVM problems;
18-
# see <https://github.com/JuliaLang/julia/issues/14818> (fixed on LLVM 3.9)
1917
# 128-bit atomics do not exist on AArch32.
20-
if (Base.libllvm_version < v"3.9-" && ARCH === :i686) ||
21-
startswith(string(ARCH), "arm")
18+
if startswith(string(ARCH), "arm")
2219
const inttypes = (Int8, Int16, Int32, Int64,
2320
UInt8, UInt16, UInt32, UInt64)
2421
else
@@ -345,8 +342,8 @@ gc_alignment(::Type{T}) where {T} = ccall(:jl_alignment, Cint, (Csize_t,), sizeo
345342
for typ in atomictypes
346343
lt = llvmtypes[typ]
347344
ilt = llvmtypes[inttype(typ)]
348-
rt = Base.libllvm_version >= v"3.6" ? "$lt, $lt*" : "$lt*"
349-
irt = Base.libllvm_version >= v"3.6" ? "$ilt, $ilt*" : "$ilt*"
345+
rt = "$lt, $lt*"
346+
irt = "$ilt, $ilt*"
350347
@eval getindex(x::Atomic{$typ}) =
351348
llvmcall($"""
352349
%ptr = inttoptr i$WORD_SIZE %0 to $lt*

base/checked.jl

-4
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,6 @@ if Core.sizeof(Ptr{Cvoid}) == 4
6464
brokenSignedIntMul = Union{brokenSignedIntMul, Int64}
6565
brokenUnsignedIntMul = Union{brokenUnsignedIntMul, UInt64}
6666
end
67-
if llvm_version < 30500
68-
brokenSignedIntMul = Union{brokenSignedIntMul, Int8}
69-
brokenUnsignedIntMul = Union{brokenUnsignedIntMul, UInt8}
70-
end
7167
const BrokenSignedInt = brokenSignedInt
7268
const BrokenUnsignedInt = brokenUnsignedInt
7369
const BrokenSignedIntMul = brokenSignedIntMul

deps/llvm.mk

+1-104
Original file line numberDiff line numberDiff line change
@@ -384,102 +384,7 @@ $$(LLVM_BUILDDIR_withtype)/build-compiled: $$(LLVM_SRC_DIR)/$1.patch-applied
384384
LLVM_PATCH_PREV := $$(LLVM_SRC_DIR)/$1.patch-applied
385385
endef
386386

387-
ifeq ($(LLVM_VER_SHORT),3.9)
388-
$(eval $(call LLVM_PATCH,llvm-PR22923)) # Remove for 4.0
389-
$(eval $(call LLVM_PATCH,llvm-arm-fix-prel31)) # Remove for 4.0
390-
$(eval $(call LLVM_PATCH,llvm-D25865-cmakeshlib)) # Remove for 4.0
391-
# Cygwin and openSUSE still use win32-threads mingw, https://llvm.org/bugs/show_bug.cgi?id=26365
392-
$(eval $(call LLVM_PATCH,llvm-3.9.0_threads))
393-
$(eval $(call LLVM_PATCH,llvm-3.9.0_win64-reloc-dwarf)) # modified version applied as R290809, Remove for 4.0
394-
$(eval $(call LLVM_PATCH,llvm-3.9.0_D27296-libssp))
395-
$(eval $(call LLVM_PATCH,llvm-D27609-AArch64-UABS_G3)) # Remove for 4.0
396-
$(eval $(call LLVM_PATCH,llvm-D27629-AArch64-large_model))
397-
$(eval $(call LLVM_PATCH,llvm-NVPTX-addrspaces)) # NVPTX
398-
$(eval $(call LLVM_PATCH,llvm-D9168_argument_alignment)) # NVPTX, Remove for 4.0
399-
$(eval $(call LLVM_PATCH,llvm-D23597_sdag_names)) # NVPTX, Remove for 4.0
400-
$(eval $(call LLVM_PATCH,llvm-D24300_ptx_intrinsics)) # NVPTX, Remove for 4.0
401-
$(eval $(call LLVM_PATCH,llvm-D27389)) # Julia issue #19792, Remove for 4.0
402-
$(eval $(call LLVM_PATCH,llvm-D27397)) # Julia issue #19792, Remove for 4.0
403-
$(eval $(call LLVM_PATCH,llvm-D28009)) # Julia issue #19792, Remove for 4.0
404-
$(eval $(call LLVM_PATCH,llvm-D28215_FreeBSD_shlib))
405-
$(eval $(call LLVM_PATCH,llvm-D28221-avx512)) # mentioned in issue #19797
406-
$(eval $(call LLVM_PATCH,llvm-PR276266)) # Issue #19976, Remove for 4.0
407-
$(eval $(call LLVM_PATCH,llvm-PR278088)) # Issue #19976, Remove for 4.0
408-
$(eval $(call LLVM_PATCH,llvm-PR277939)) # Issue #19976, Remove for 4.0
409-
$(eval $(call LLVM_PATCH,llvm-PR278321)) # Issue #19976, Remove for 4.0
410-
$(eval $(call LLVM_PATCH,llvm-PR278923)) # Issue #19976, Remove for 4.0
411-
$(eval $(call LLVM_PATCH,llvm-D28759-loopclearance))
412-
$(eval $(call LLVM_PATCH,llvm-D28786-callclearance))
413-
$(eval $(call LLVM_PATCH,llvm-rL293230-icc17-cmake)) # Remove for 4.0
414-
$(eval $(call LLVM_PATCH,llvm-D32593))
415-
$(eval $(call LLVM_PATCH,llvm-D33179))
416-
$(eval $(call LLVM_PATCH,llvm-PR29010-i386-xmm)) # Remove for 4.0
417-
$(eval $(call LLVM_PATCH,llvm-3.9.0-D37576-NVPTX-sm_70)) # NVPTX, Remove for 6.0
418-
$(eval $(call LLVM_PATCH,llvm-D37939-Mem2Reg-Also-handle-memcpy))
419-
$(eval $(call LLVM_PATCH,llvm-D31524-sovers_4.0)) # Remove for 5.0
420-
$(eval $(call LLVM_PATCH,llvm-D42262-jumpthreading-not-i1))
421-
$(eval $(call LLVM_PATCH,llvm-3.9-c_api_nullptr))
422-
$(eval $(call LLVM_PATCH,llvm-PPC-addrspaces)) # PPC
423-
$(eval $(call LLVM_PATCH,llvm-D30114)) # PPC remove for 5.0
424-
$(eval $(call LLVM_PATCH,llvm-PR36292)) # PPC fixes #26249, remove for 6.0
425-
$(eval $(call LLVM_PATCH,llvm-D39297-musl-dynamiclibrary-pre5)) # Remove for 6.0
426-
$(eval $(call LLVM_PATCH,llvm-D28476-musl-targetlibraryinfo_3.9)) # Remove for 5.0
427-
$(eval $(call LLVM_PATCH,llvm-D46460))
428-
ifeq ($(BUILD_LLVM_CLANG),1)
429-
$(eval $(call LLVM_PATCH,compiler_rt-3.9-glibc_2.25.90)) # Remove for 5.0
430-
$(eval $(call LLVM_PATCH,clang-D28477)) # Remove for 5.0
431-
endif
432-
else ifeq ($(LLVM_VER_SHORT),4.0)
433-
# Cygwin and openSUSE still use win32-threads mingw, https://llvm.org/bugs/show_bug.cgi?id=26365
434-
$(eval $(call LLVM_PATCH,llvm-4.0.0_threads))
435-
$(eval $(call LLVM_PATCH,llvm-3.9.0_D27296-libssp))
436-
$(eval $(call LLVM_PATCH,llvm-D27629-AArch64-large_model_4.0))
437-
$(eval $(call LLVM_PATCH,llvm-D28215_FreeBSD_shlib)) # Remove for 5.0
438-
$(eval $(call LLVM_PATCH,llvm-D28759-loopclearance)) # Remove for 5.0
439-
$(eval $(call LLVM_PATCH,llvm-D28786-callclearance_4.0)) # Remove for 5.0
440-
$(eval $(call LLVM_PATCH,llvm-D32593)) # Remove for 5.0
441-
$(eval $(call LLVM_PATCH,llvm-D33179)) # Remove for 5.0
442-
$(eval $(call LLVM_PATCH,llvm-D32203-SORA-non-integral)) # Remove for 5.0
443-
$(eval $(call LLVM_PATCH,llvm-D33110-codegen-prepare-inttoptr))
444-
$(eval $(call LLVM_PATCH,llvm-D30478-VNCoercion)) # Remove for 5.0
445-
$(eval $(call LLVM_PATCH,llvm-VNCoercion-signatures)) # Remove for 5.0
446-
$(eval $(call LLVM_PATCH,llvm-VNCoercion-template)) # Remove for 5.0
447-
$(eval $(call LLVM_PATCH,llvm-D32196-LIR-non-integral)) # Remove for 5.0
448-
$(eval $(call LLVM_PATCH,llvm-D32208-coerce-non-integral)) # Remove for 5.0
449-
$(eval $(call LLVM_PATCH,llvm-D32623-GVN-non-integral)) # Remove for 5.0
450-
$(eval $(call LLVM_PATCH,llvm-D33129-scevexpander-non-integral)) # Remove for 5.0
451-
$(eval $(call LLVM_PATCH,llvm-Yet-another-fix))
452-
$(eval $(call LLVM_PATCH,llvm-NVPTX-addrspaces)) # NVPTX
453-
$(eval $(call LLVM_PATCH,llvm-4.0.0-D37576-NVPTX-sm_70)) # NVPTX, Remove for 6.0
454-
$(eval $(call LLVM_PATCH,llvm-loadcse-addrspace_4.0))
455-
$(eval $(call LLVM_PATCH,llvm-D31524-sovers_4.0)) # Remove for 5.0
456-
$(eval $(call LLVM_PATCH,llvm-D42262-jumpthreading-not-i1))
457-
$(eval $(call LLVM_PATCH,llvm-PPC-addrspaces)) # PPC
458-
$(eval $(call LLVM_PATCH,llvm-D30114)) # PPC remove for 5.0
459-
$(eval $(call LLVM_PATCH,llvm-PR36292)) # PPC fixes #26249, remove for 6.0
460-
$(eval $(call LLVM_PATCH,llvm-D39297-musl-dynamiclibrary-pre5)) # Remove for 6.0
461-
$(eval $(call LLVM_PATCH,llvm-D28476-musl-targetlibraryinfo_4.0)) # Remove for 5.0
462-
$(eval $(call LLVM_PATCH,llvm-D46460))
463-
ifeq ($(BUILD_LLVM_CLANG),1)
464-
$(eval $(call LLVM_PATCH,compiler_rt-3.9-glibc_2.25.90)) # Remove for 5.0
465-
$(eval $(call LLVM_PATCH,clang-D28477)) # Remove for 5.0
466-
endif
467-
else ifeq ($(LLVM_VER_SHORT),5.0)
468-
# Cygwin and openSUSE still use win32-threads mingw, https://llvm.org/bugs/show_bug.cgi?id=26365
469-
$(eval $(call LLVM_PATCH,llvm-5.0.0_threads))
470-
$(eval $(call LLVM_PATCH,llvm-3.9.0_D27296-libssp))
471-
$(eval $(call LLVM_PATCH,llvm-D27629-AArch64-large_model_4.0))
472-
$(eval $(call LLVM_PATCH,llvm-loadcse-addrspace_5.0))
473-
$(eval $(call LLVM_PATCH,llvm-D34078-vectorize-fdiv))
474-
$(eval $(call LLVM_PATCH,llvm-5.0-NVPTX-addrspaces)) # NVPTX
475-
$(eval $(call LLVM_PATCH,llvm-4.0.0-D37576-NVPTX-sm_70)) # NVPTX, Remove for 6.0
476-
$(eval $(call LLVM_PATCH,llvm-D38765-gvn_5.0)) # Remove for 6.0
477-
$(eval $(call LLVM_PATCH,llvm-D42262-jumpthreading-not-i1)) # remove for 7.0
478-
$(eval $(call LLVM_PATCH,llvm-PPC-addrspaces)) # PPC
479-
$(eval $(call LLVM_PATCH,llvm-PR36292-5.0)) # PPC fixes #26249, remove for 6.0
480-
$(eval $(call LLVM_PATCH,llvm-D39297-musl-dynamiclibrary)) # Remove for 6.0
481-
$(eval $(call LLVM_PATCH,llvm-D46460))
482-
else ifeq ($(LLVM_VER_SHORT),6.0)
387+
ifeq ($(LLVM_VER_SHORT),6.0)
483388
$(eval $(call LLVM_PATCH,llvm-D27629-AArch64-large_model_4.0))
484389
$(eval $(call LLVM_PATCH,llvm-D34078-vectorize-fdiv))
485390
$(eval $(call LLVM_PATCH,llvm-6.0-NVPTX-addrspaces)) # NVPTX
@@ -509,15 +414,7 @@ $(eval $(call LLVM_PATCH,llvm-D50167-scev-umin))
509414
$(eval $(call LLVM_PATCH,llvm-windows-race))
510415
endif # LLVM_VER
511416

512-
# Remove hardcoded OS X requirements in compilter-rt cmake build
513-
ifeq ($(LLVM_VER_SHORT),3.9)
514-
ifeq ($(BUILD_LLVM_CLANG),1)
515-
$(eval $(call LLVM_PATCH,llvm-3.9-osx-10.12))
516-
endif
517-
endif
518-
519417
# Independent to the llvm version add a JL prefix to the version map
520-
# Depends on `llvm-D31524-sovers_4.0` for LLVM_VER==3.9
521418
$(eval $(call LLVM_PATCH,llvm-symver-jlprefix)) # DO NOT REMOVE
522419

523420

deps/patches/compiler_rt-3.9-glibc_2.25.90.patch

-118
This file was deleted.

deps/patches/lldb-3.7.1.patch

-41
This file was deleted.

deps/patches/llvm-3.9-c_api_nullptr.patch

-39
This file was deleted.

deps/patches/llvm-3.9-osx-10.12.patch

-33
This file was deleted.

0 commit comments

Comments
 (0)