diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1ebaaf3f..0b3a1a7d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -70,11 +70,12 @@ jobs: - name: Install LLVM and MLIR deps run: | - sudo apt-get -y update - sudo apt-get install -y \ - llvm-19-dev \ - libmlir-19-dev \ - mlir-19-tools + wget https://apt.llvm.org/llvm.sh + chmod +x llvm.sh + sudo ./llvm.sh 20 + rm llvm.sh + + sudo apt-get install -y libmlir-20-dev mlir-20-tools - name: Install unit tests requirements run: | @@ -85,7 +86,7 @@ jobs: run: | . .venv/bin/activate - PATH=/usr/lib/llvm-19/bin:$PATH + PATH=/usr/lib/llvm-20/bin:$PATH cmake --preset default-mlir diff --git a/scripts/build-mlir.mjs b/scripts/build-mlir.mjs index 80c06bef..d65928e4 100644 --- a/scripts/build-mlir.mjs +++ b/scripts/build-mlir.mjs @@ -51,7 +51,7 @@ async function downloadLLVM({ packages, version, outdir }) { } async function main() { - const version = "20.1.2"; + const version = "20.1.8"; const packages = ["cmake", "third-party", "llvm", "mlir"]; const llvm_source_dir = zx.path.resolve( diff --git a/src/mlir/CMakeLists.txt b/src/mlir/CMakeLists.txt index 5d51a20e..afe3ace9 100644 --- a/src/mlir/CMakeLists.txt +++ b/src/mlir/CMakeLists.txt @@ -5,6 +5,10 @@ endif() find_package(MLIR REQUIRED CONFIG) +if (MLIR_VERSION VERSION_LESS "20.0") + message(FATAL_ERROR "MLIR >= 20.0 is required") +endif() + LIST(APPEND CMAKE_MODULE_PATH "${MLIR_CMAKE_DIR}" "${LLVM_CMAKE_DIR}") include(AddMLIR)