Skip to content

Commit

Permalink
Remove LLVM <= 10 (#634)
Browse files Browse the repository at this point in the history
  • Loading branch information
elliottslaughter authored Aug 23, 2023
1 parent 094c5ad commit 6c97b40
Show file tree
Hide file tree
Showing 26 changed files with 108 additions and 912 deletions.
212 changes: 37 additions & 175 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,23 +20,13 @@ jobs:
strategy:
matrix:
os: ['ubuntu-22.04', 'macos-11', 'windows-2022']
llvm: ['6.0', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16']
llvm: ['11', '12', '13', '14', '15', '16']
cmake: ['0', '1']
cuda: ['0', '1']
lua: ['luajit', 'moonjit']
exclude:
# Linux: exclude LLVM 6.0-13, 15-16, cmake
# Linux: exclude LLVM 11-13, 15-16, cmake
# Note: CMake configurations are tested in Docker
- os: 'ubuntu-22.04'
llvm: '6.0'
- os: 'ubuntu-22.04'
llvm: '7'
- os: 'ubuntu-22.04'
llvm: '8'
- os: 'ubuntu-22.04'
llvm: '9'
- os: 'ubuntu-22.04'
llvm: '10'
- os: 'ubuntu-22.04'
llvm: '11'
- os: 'ubuntu-22.04'
Expand All @@ -50,51 +40,13 @@ jobs:
- os: 'ubuntu-22.04'
cmake: '1'

# macOS: exclude LLVM 8-16 make, cuda
- os: 'macos-11'
llvm: '8'
cmake: '0'
- os: 'macos-11'
llvm: '9'
cmake: '0'
- os: 'macos-11'
llvm: '10'
cmake: '0'
- os: 'macos-11'
llvm: '11'
cmake: '0'
# macOS: exclude make, cuda
- os: 'macos-11'
llvm: '12'
cmake: '0'
- os: 'macos-11'
llvm: '13'
cmake: '0'
- os: 'macos-11'
llvm: '14'
cmake: '0'
- os: 'macos-11'
llvm: '15'
cmake: '0'
- os: 'macos-11'
llvm: '16'
cmake: '0'
- os: 'macos-11'
cuda: '1'
# LLVM 10 binaries are broken on recent macOS
- os: 'macos-11'
llvm: '10'

# Windows: exclude LLVM 6.0-10,12-16, make
- os: 'windows-2022'
llvm: '6.0'
- os: 'windows-2022'
llvm: '7'
- os: 'windows-2022'
llvm: '8'
- os: 'windows-2022'
llvm: '9'
- os: 'windows-2022'
llvm: '10'
# Windows: exclude LLVM 12-16, make
- os: 'windows-2022'
llvm: '12'
- os: 'windows-2022'
Expand All @@ -108,25 +60,11 @@ jobs:
- os: 'windows-2022'
cmake: '0'

# CMake
- llvm: '7'
cmake: '0'

# Moonjit requires CMake
- cmake: '0'
lua: 'moonjit'

# CUDA: only LLVM 11
- llvm: '6.0'
cuda: '1'
- llvm: '7'
cuda: '1'
- llvm: '8'
cuda: '1'
- llvm: '9'
cuda: '1'
- llvm: '10'
cuda: '1'
- llvm: '12'
cuda: '1'
- llvm: '13'
Expand All @@ -138,19 +76,9 @@ jobs:
- llvm: '16'
cuda: '1'

# Moonjit: only LLVM 9
- llvm: '6.0'
lua: 'moonjit'
- llvm: '7'
lua: 'moonjit'
- llvm: '8'
lua: 'moonjit'
- llvm: '10'
lua: 'moonjit'
# Moonjit: only LLVM 12
- llvm: '11'
lua: 'moonjit'
- llvm: '12'
lua: 'moonjit'
- llvm: '13'
lua: 'moonjit'
- llvm: '14'
Expand Down Expand Up @@ -185,156 +113,90 @@ jobs:
strategy:
matrix:
distro: ['ubuntu-18.04']
llvm: ['6.0', '7', '8', '9', '10', '11', '12.0.1', '13.0.1', '14.0.6', '15.0.2', '16.0.3']
llvm: ['11', '12.0.1', '13.0.1', '14.0.6', '15.0.2', '16.0.3']
lua: ['luajit', 'moonjit']
static: ['0', '1']
slib: ['0', '1']
cuda: ['0', '1']
test: ['1']
exclude:
# CUDA with LLVM 9 only:
- llvm: '6.0'
cuda: '1'
- llvm: '7'
cuda: '1'
- llvm: '8'
cuda: '1'
- llvm: '10'
cuda: '1'
# CUDA with LLVM 13 only:
- llvm: '11'
cuda: '1'
- llvm: '12.0.1'
cuda: '1'
- llvm: '13.0.1'
cuda: '1'
- llvm: '14.0.6'
cuda: '1'
- llvm: '15.0.2'
cuda: '1'
- llvm: '16.0.3'
cuda: '1'

# Moonjit with LLVM 10 only:
- llvm: '6.0'
lua: 'moonjit'
- llvm: '7'
lua: 'moonjit'
- llvm: '8'
lua: 'moonjit'
- llvm: '9'
lua: 'moonjit'
# Moonjit with LLVM 14 only:
- llvm: '11'
lua: 'moonjit'
- llvm: '12.0.1'
lua: 'moonjit'
- llvm: '13.0.1'
lua: 'moonjit'
- llvm: '14.0.6'
lua: 'moonjit'
- llvm: '15.0.2'
lua: 'moonjit'
- llvm: '16.0.3'
lua: 'moonjit'

# no-static with LLVM 10 only:
- llvm: '6.0'
static: '0'
- llvm: '7'
static: '0'
- llvm: '8'
static: '0'
- llvm: '9'
static: '0'
- llvm: '11'
static: '0'
- llvm: '12.0.1'
static: '0'
- llvm: '13.0.1'
static: '0'
- llvm: '14.0.6'
static: '0'
- llvm: '15.0.2'
static: '0'
- llvm: '16.0.3'
static: '0'

# no-slib with LLVM 10 only:
- llvm: '6.0'
slib: '0'
- llvm: '7'
slib: '0'
- llvm: '8'
slib: '0'
- llvm: '9'
slib: '0'
- llvm: '11'
slib: '0'
- llvm: '12.0.1'
slib: '0'
- llvm: '13.0.1'
slib: '0'
- llvm: '14.0.6'
slib: '0'
- llvm: '15.0.2'
slib: '0'
- llvm: '16.0.3'
slib: '0'

# slib requires static
- static: '0'
slib: '1'

include:
# Defaults:
- slib: '1'
- static: '1'

# Assign variants to the basic configurations:
- variant: 'package'
- variant: 'prebuilt'
- llvm: '11'
variant: 'upstream'
- llvm: '12.0.1'
variant: 'prebuilt'
- llvm: '13.0.1'
variant: 'prebuilt'
- llvm: '14.0.6'
variant: 'prebuilt'
- llvm: '15.0.2'
variant: 'prebuilt'
- llvm: '16.0.3'
variant: 'prebuilt'

# Some additional configurations:

# LLVM 6.0 on Ubuntu 16.04, 20.04
- distro: 'ubuntu-16.04'
llvm: '6.0'
lua: 'luajit'
cuda: '0'
variant: 'package'
test: '1'
- distro: 'ubuntu-20.04'
llvm: '6.0'
# LLVM 12, 13, 14 on Ubuntu 22.04
- distro: 'ubuntu-22.04'
llvm: '12'
lua: 'luajit'
cuda: '0'
variant: 'package'
slib: '1'
static: '1'
test: '1'

# LLVM 12, 13, 14 on Ubuntu 22.04
- distro: 'ubuntu-22.04'
llvm: '12'
llvm: '13'
lua: 'luajit'
cuda: '0'
variant: 'package'
slib: '1'
static: '1'
test: '1'
- distro: 'ubuntu-22.04'
llvm: '13'
llvm: '14'
lua: 'luajit'
cuda: '0'
variant: 'package'
slib: '1'
static: '1'
test: '1'

# LLVM 14, no-slib/no-static, Ubuntu 22.04
- distro: 'ubuntu-22.04'
llvm: '14'
lua: 'luajit'
cuda: '0'
variant: 'package'
slib: '0'
static: '1'
test: '1'
# - distro: 'ubuntu-22.04'
# llvm: '14'
# lua: 'luajit'
# cuda: '0'
# variant: 'package'
# slib: '0'
# static: '0'
# test: '1'
steps:
- uses: actions/checkout@v1
- run: ./travis.sh
Expand Down Expand Up @@ -396,7 +258,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
nixpkgs: ['unstable', '22.05']
nixpkgs: ['unstable', '23.05']
cuda: ['false', 'true']
steps:
- uses: actions/[email protected]
Expand Down
6 changes: 5 additions & 1 deletion CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# Unreleased Changes
# Unreleased Changes (Intended to be Version 1.2.0)

## Removed features

* Removed support for LLVM <= 10

# Release 1.1.1 (2023-08-22)

Expand Down
10 changes: 2 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ set(TERRA_ENABLE_CUDA ${CUDA_FOUND} CACHE BOOL "Build Terra with support for CUD
if(DEFINED TERRA_STATIC_LINK_LLVM)
set(DEFAULT_TERRA_SLIB_INCLUDE_LLVM ${TERRA_STATIC_LINK_LLVM})
else()
if((LLVM_VERSION_MAJOR GREATER 6 AND LLVM_VERSION_MAJOR LESS 8) OR WIN32)
if(WIN32)
set(DEFAULT_TERRA_SLIB_INCLUDE_LLVM OFF)
else()
set(DEFAULT_TERRA_SLIB_INCLUDE_LLVM ON)
Expand All @@ -30,10 +30,6 @@ if(TERRA_SLIB_INCLUDE_LLVM AND NOT TERRA_STATIC_LINK_LLVM)
message(FATAL_ERROR "TERRA_SLIB_INCLUDE_LLVM requires TERRA_STATIC_LINK_LLVM to be set")
endif()

if((LLVM_VERSION_MAJOR GREATER 6 AND LLVM_VERSION_MAJOR LESS 8) AND TERRA_SLIB_INCLUDE_LLVM)
message(FATAL_ERROR "TERRA_SLIB_INCLUDE_LLVM is not supported in LLVM version 7")
endif()

if(WIN32 AND TERRA_SLIB_INCLUDE_LLVM)
message(FATAL_ERROR "TERRA_SLIB_INCLUDE_LLVM is not supported on Windows")
endif()
Expand Down Expand Up @@ -66,10 +62,8 @@ include(ExtractLLVM)

if(LLVM_VERSION_MAJOR GREATER 15)
set(CMAKE_CXX_STANDARD 17)
elseif(LLVM_VERSION_MAJOR GREATER 9)
set(CMAKE_CXX_STANDARD 14)
else()
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 14)
endif()
set(CMAKE_CXX_STANDARD_REQUIRED ON)

Expand Down
22 changes: 2 additions & 20 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,10 @@ environment:
LLVM_VERSION_SHORT: 110
VS_MAJOR_VERSION: 17
USE_CUDA: 1
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
LLVM_VERSION: 7.0.0
LLVM_VERSION_SHORT: 70
VS_MAJOR_VERSION: 14 # Just use LLVM built with VS 2015
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
LLVM_VERSION: 7.0.0
LLVM_VERSION_SHORT: 70
VS_MAJOR_VERSION: 14 # Just use LLVM built with VS 2015
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
LLVM_VERSION: 7.0.0
LLVM_VERSION_SHORT: 70
VS_MAJOR_VERSION: 14
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
LLVM_VERSION: 6.0.1
LLVM_VERSION_SHORT: 60
VS_MAJOR_VERSION: 14

install:
- set LLVM_BASE_NAME=llvm-%LLVM_VERSION%-windows-amd64-msvc%VS_MAJOR_VERSION%-msvcrt
- set LLVM_URL=https://github.com/Mx7f/llvm-package-windows/releases/download/clang-%LLVM_VERSION%-nvptx/%LLVM_BASE_NAME%.7z
- if %LLVM_VERSION_SHORT% GEQ 110 (set LLVM_BASE_NAME=clang+llvm-%LLVM_VERSION%-x86_64-windows-msvc17)
- if %LLVM_VERSION_SHORT% GEQ 110 (set LLVM_URL=https://github.com/terralang/llvm-build/releases/download/llvm-%LLVM_VERSION%/%LLVM_BASE_NAME%.7z)
- set LLVM_BASE_NAME=clang+llvm-%LLVM_VERSION%-x86_64-windows-msvc17
- set LLVM_URL=https://github.com/terralang/llvm-build/releases/download/llvm-%LLVM_VERSION%/%LLVM_BASE_NAME%.7z

- appveyor DownloadFile %LLVM_URL%
- 7z x %LLVM_BASE_NAME%.7z
Expand Down
Loading

0 comments on commit 6c97b40

Please sign in to comment.