Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove LLVM <= 10 #634

Merged
merged 13 commits into from
Aug 23, 2023
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