diff --git a/.github/workflows/pip.yml b/.github/workflows/pip.yml index f4488c20edaf..40f186c764cb 100644 --- a/.github/workflows/pip.yml +++ b/.github/workflows/pip.yml @@ -8,7 +8,7 @@ on: env: # TODO: detect this from repo somehow: https://github.com/halide/Halide/issues/8406 - LLVM_VERSION: 21.1.8 + LLVM_VERSION: 22.1.0 FLATBUFFERS_VERSION: 23.5.26 WABT_VERSION: 1.0.39 diff --git a/.github/workflows/testing-arm-linux.yml b/.github/workflows/testing-arm-linux.yml index 204fdc599817..a04944fe5c38 100644 --- a/.github/workflows/testing-arm-linux.yml +++ b/.github/workflows/testing-arm-linux.yml @@ -20,7 +20,7 @@ jobs: fail-fast: false matrix: bits: [ "64", "32" ] - uv_group: [ "ci-llvm-main", "ci-llvm-22", "ci-llvm-21", "ci-llvm-20" ] + uv_group: [ "ci-llvm-main", "ci-llvm-22", "ci-llvm-21" ] include: - bits: 32 arch: armv7l diff --git a/.github/workflows/testing-linux.yml b/.github/workflows/testing-linux.yml index 3548fdf2c2a0..ee5954871253 100644 --- a/.github/workflows/testing-linux.yml +++ b/.github/workflows/testing-linux.yml @@ -20,7 +20,7 @@ jobs: fail-fast: false matrix: bits: [ "32" ] # Intentionally not 64, as we haven't configured self-hosted runners for it yet. - uv_group: [ "ci-llvm-main", "ci-llvm-22", "ci-llvm-21", "ci-llvm-20" ] + uv_group: [ "ci-llvm-main", "ci-llvm-22", "ci-llvm-21" ] include: - bits: 32 arch: i686 diff --git a/.github/workflows/testing-make.yml b/.github/workflows/testing-make.yml index 4a82e2be9ec9..c345c13b2513 100644 --- a/.github/workflows/testing-make.yml +++ b/.github/workflows/testing-make.yml @@ -1,7 +1,7 @@ name: Makefile env: - LLVM_VERSION: '21' + LLVM_VERSION: '22' on: pull_request: diff --git a/.github/workflows/testing-windows.yml b/.github/workflows/testing-windows.yml index 27e566c16aea..001eead19a02 100644 --- a/.github/workflows/testing-windows.yml +++ b/.github/workflows/testing-windows.yml @@ -24,7 +24,7 @@ jobs: fail-fast: false matrix: bits: [ "32" ] # Intentionally not 64, as we haven't configured self-hosted runners for it yet. - uv_group: [ "ci-llvm-main", "ci-llvm-22", "ci-llvm-21", "ci-llvm-20" ] + uv_group: [ "ci-llvm-main", "ci-llvm-22", "ci-llvm-21" ] include: - bits: 32 arch: x86 diff --git a/CMakeLists.txt b/CMakeLists.txt index e78110dc6eca..5aceebd61679 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -199,7 +199,7 @@ option(THREADS_PREFER_PTHREAD_FLAG "When enabled, prefer to use the -pthread fla find_package(Threads REQUIRED) ## LLVM -find_package(Halide_LLVM 20...99 REQUIRED # Use 99 to fake a minimum-only constraint +find_package(Halide_LLVM 21...99 REQUIRED # Use 99 to fake a minimum-only constraint COMPONENTS WebAssembly X86 OPTIONAL_COMPONENTS AArch64 ARM Hexagon NVPTX PowerPC RISCV) diff --git a/README.md b/README.md index 50fe20c3542e..694ffd0f8c4f 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ issue. At any point in time, building Halide requires either the latest stable version of LLVM, the previous stable version of LLVM, or trunk. At the time of writing, -this means versions 22, 21, and 20 are supported, but 19 is not. +this means versions 23, 22, and 21 are supported, but 20 is not. It is simplest to get a binary release of LLVM on macOS by using [Homebrew](https://brew.sh). Just run `brew install llvm`. On Debian flavors of diff --git a/cmake/FindHalide_LLVM.cmake b/cmake/FindHalide_LLVM.cmake index 055003cc244a..246287f7d344 100644 --- a/cmake/FindHalide_LLVM.cmake +++ b/cmake/FindHalide_LLVM.cmake @@ -17,7 +17,7 @@ foreach ( "/usr/local/lib/llvm-@VERSION@" # Third-party packages "/opt/llvm-@VERSION@" # Third-party packages ) - foreach (VERSION RANGE 20 22) # inclusive! + foreach (VERSION RANGE 21 23) # inclusive! string(CONFIGURE "${template}" path @ONLY) list(APPEND llvm_paths "${path}") endforeach () @@ -28,7 +28,7 @@ find_package(LLVM PATHS ${llvm_paths}) # Neither LLVM_VERSION nor LLVM_PACKAGE_VERSION work as find_package arguments # in git/development builds as they include a "git" suffix. This applies at -# time of writing to versions 18-21, inclusive. +# time of writing to versions 21-23, inclusive. if (LLVM_FOUND) set(Halide_LLVM_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}") endif () diff --git a/pyproject.toml b/pyproject.toml index af862739511d..95b311ab43a3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -90,7 +90,6 @@ ci-base = [ ci-llvm-main = [{ include-group = "ci-base" }, "halide-llvm~=23.0.0.dev0"] ci-llvm-22 = [{ include-group = "ci-base" }, "halide-llvm~=22.1.0"] ci-llvm-21 = [{ include-group = "ci-base" }, "halide-llvm~=21.1.0"] -ci-llvm-20 = [{ include-group = "ci-base" }, "halide-llvm~=20.1.0"] [project.urls] Homepage = "https://halide-lang.org" diff --git a/src/CodeGen_Internal.cpp b/src/CodeGen_Internal.cpp index 57a76a13b61d..3f6598a87e2d 100644 --- a/src/CodeGen_Internal.cpp +++ b/src/CodeGen_Internal.cpp @@ -612,9 +612,6 @@ void get_target_options(const llvm::Module &module, llvm::TargetOptions &options options = llvm::TargetOptions(); options.AllowFPOpFusion = per_instruction_fast_math_flags ? llvm::FPOpFusion::Strict : llvm::FPOpFusion::Fast; -#if LLVM_VERSION < 210 - options.UnsafeFPMath = !per_instruction_fast_math_flags; -#endif #if LLVM_VERSION < 230 options.NoInfsFPMath = !per_instruction_fast_math_flags; #endif @@ -676,11 +673,7 @@ std::unique_ptr make_target_machine(const llvm::Module &mod std::string mattrs = get_modflag_string(module, "halide_mattrs"); auto *tm = llvm_target->createTargetMachine( -#if LLVM_VERSION >= 210 triple, -#else - triple.str(), -#endif mcpu_target, mattrs, options, diff --git a/src/CodeGen_LLVM.cpp b/src/CodeGen_LLVM.cpp index cec98eec70b0..b87254c3a1a7 100644 --- a/src/CodeGen_LLVM.cpp +++ b/src/CodeGen_LLVM.cpp @@ -407,11 +407,7 @@ void CodeGen_LLVM::init_codegen(const std::string &name) { internal_assert(module && context); -#if LLVM_VERSION >= 210 debug(1) << "Target triple of initial module: " << module->getTargetTriple().str() << "\n"; -#else - debug(1) << "Target triple of initial module: " << module->getTargetTriple() << "\n"; -#endif module->setModuleIdentifier(name); @@ -3397,11 +3393,7 @@ void CodeGen_LLVM::visit(const Call *op) { llvm::BasicBlock *block = llvm::BasicBlock::Create(module->getContext(), "entry", fn); IRBuilderBase::InsertPoint here = builder->saveIP(); builder->SetInsertPoint(block); -#if LLVM_VERSION >= 210 Value *ret = builder->CreateVScale(i32_t); -#else - Value *ret = builder->CreateVScale(ConstantInt::get(i32_t, 1)); -#endif builder->CreateRet(ret); // To avoid vscale_range(n,n) added in CodeGen_Internal diff --git a/src/CodeGen_PTX_Dev.cpp b/src/CodeGen_PTX_Dev.cpp index 411df42f3082..3deab616ecc5 100644 --- a/src/CodeGen_PTX_Dev.cpp +++ b/src/CodeGen_PTX_Dev.cpp @@ -628,9 +628,6 @@ vector CodeGen_PTX_Dev::compile_to_src() { TargetOptions options; options.AllowFPOpFusion = CodeGen_GPU_Dev::any_strict_float ? llvm::FPOpFusion::Strict : llvm::FPOpFusion::Fast; -#if LLVM_VERSION < 210 - options.UnsafeFPMath = !CodeGen_GPU_Dev::any_strict_float; -#endif #if LLVM_VERSION < 230 options.NoInfsFPMath = !CodeGen_GPU_Dev::any_strict_float; #endif @@ -641,11 +638,7 @@ vector CodeGen_PTX_Dev::compile_to_src() { std::unique_ptr target_machine(llvm_target->createTargetMachine( -#if LLVM_VERSION >= 210 triple, -#else - triple.str(), -#endif mcpu_target(), mattrs(), options, llvm::Reloc::PIC_, llvm::CodeModel::Small, diff --git a/src/JITModule.cpp b/src/JITModule.cpp index b220f85cc503..cc88e69a7dbc 100644 --- a/src/JITModule.cpp +++ b/src/JITModule.cpp @@ -364,11 +364,7 @@ void compile_module_impl( // Make the execution engine debug(2) << "Creating new execution engine\n"; -#if LLVM_VERSION >= 210 debug(2) << "Target triple: " << m->getTargetTriple().str() << "\n"; -#else - debug(2) << "Target triple: " << m->getTargetTriple() << "\n"; -#endif string error_string; llvm::for_each(*m, set_function_attributes_from_halide_target_options); @@ -412,29 +408,15 @@ void compile_module_impl( // i386: "JIT session error: Unsupported i386 relocation:4" (R_386_PLT32) // ARM 32bit: Unsupported target machine architecture in ELF object shared runtime-jitted-objectbuffer // Windows 64-bit: JIT session error: could not register eh-frame: __register_frame function not found -#if LLVM_VERSION >= 210 linkerBuilder = [&](llvm::orc::ExecutionSession &session) { return std::make_unique(session, [&](const llvm::MemoryBuffer &) { return std::make_unique(dependencies); }); }; -#else - linkerBuilder = [&](llvm::orc::ExecutionSession &session, const llvm::Triple &) { - return std::make_unique(session, [&]() { - return std::make_unique(dependencies); - }); - }; -#endif } else { -#if LLVM_VERSION >= 210 linkerBuilder = [](llvm::orc::ExecutionSession &session) { return std::make_unique(session); }; -#else - linkerBuilder = [](llvm::orc::ExecutionSession &session, const llvm::Triple &) { - return std::make_unique(session); - }; -#endif } auto JIT = llvm::cantFail(llvm::orc::LLJITBuilder() diff --git a/src/LLVM_Headers.h b/src/LLVM_Headers.h index f384e446933b..6e78b8289116 100644 --- a/src/LLVM_Headers.h +++ b/src/LLVM_Headers.h @@ -1,10 +1,10 @@ #ifndef HALIDE_LLVM_HEADERS_H #define HALIDE_LLVM_HEADERS_H -#if LLVM_VERSION >= 200 +#if LLVM_VERSION >= 210 // We're good to go #else -#error "Compiling Halide requires LLVM 20.0 or newer" +#error "Compiling Halide requires LLVM 21.0 or newer" #endif // No msvc warnings from llvm headers please diff --git a/src/LLVM_Output.cpp b/src/LLVM_Output.cpp index 07ee313eac5a..62864062a4b3 100644 --- a/src/LLVM_Output.cpp +++ b/src/LLVM_Output.cpp @@ -353,11 +353,7 @@ void emit_file(const llvm::Module &module_in, Internal::LLVMOStream &out, llvm::CodeGenFileType file_type) { // Make sure to run this with a large stack! debug(1) << "emit_file.Compiling to native code...\n"; -#if LLVM_VERSION >= 210 debug(2) << "Target triple: " << module_in.getTargetTriple().str() << "\n"; -#else - debug(2) << "Target triple: " << module_in.getTargetTriple() << "\n"; -#endif auto time_start = std::chrono::high_resolution_clock::now(); diff --git a/src/LLVM_Runtime_Linker.cpp b/src/LLVM_Runtime_Linker.cpp index 3bf42db5e191..73e0f53d281a 100644 --- a/src/LLVM_Runtime_Linker.cpp +++ b/src/LLVM_Runtime_Linker.cpp @@ -630,11 +630,7 @@ void link_modules(std::vector> &modules, Target t, } } module->setDataLayout(data_layout); -#if LLVM_VERSION >= 210 module->setTargetTriple(triple); -#else - module->setTargetTriple(triple.str()); -#endif } // Link them all together @@ -1420,11 +1416,7 @@ std::unique_ptr get_initial_module_for_ptx_device(Target target, l } llvm::Triple triple("nvptx64--"); -#if LLVM_VERSION >= 210 modules[0]->setTargetTriple(triple); -#else - modules[0]->setTargetTriple(triple.str()); -#endif llvm::DataLayout dl("e-i64:64-v16:16-v32:32-n16:32:64"); modules[0]->setDataLayout(dl); diff --git a/test/autoschedulers/mullapudi2016/histogram.cpp b/test/autoschedulers/mullapudi2016/histogram.cpp index 0e5e55ac8492..8d7060f3090c 100644 --- a/test/autoschedulers/mullapudi2016/histogram.cpp +++ b/test/autoschedulers/mullapudi2016/histogram.cpp @@ -126,15 +126,6 @@ int main(int argc, char **argv) { return 0; } - // LLVM 20 generates poor SVE2 code for the histogram autoscheduler test, - // causing it to exceed the performance threshold. Fixed in LLVM 21+. - if (Internal::get_llvm_version() < 210 && - get_jit_target_from_environment().has_feature(Target::SVE2)) { - printf("[SKIP] LLVM %d generates suboptimal SVE2 code for this test.\n", - Internal::get_llvm_version()); - return 0; - } - if (argc != 2) { fprintf(stderr, "Usage: %s \n", argv[0]); return 1; diff --git a/test/autoschedulers/mullapudi2016/max_filter.cpp b/test/autoschedulers/mullapudi2016/max_filter.cpp index 4b8aef88378f..7c4da2683753 100644 --- a/test/autoschedulers/mullapudi2016/max_filter.cpp +++ b/test/autoschedulers/mullapudi2016/max_filter.cpp @@ -131,8 +131,7 @@ int main(int argc, char **argv) { // LLVM 21 calls getFixedValue() on scalable TypeSize objects in the // AArch64 backend, triggering an assertion. Fixed in LLVM 22 by: // https://github.com/llvm/llvm-project/commit/d1500d12be60 (PR #169764) - if (Internal::get_llvm_version() >= 210 && - Internal::get_llvm_version() < 220 && + if (Internal::get_llvm_version() < 220 && get_jit_target_from_environment().has_feature(Target::SVE2)) { printf("[SKIP] LLVM 21 has known getFixedValue() assertion failures on SVE scalable types.\n"); return 0; diff --git a/test/correctness/align_bounds.cpp b/test/correctness/align_bounds.cpp index 9c083144a551..060bce3280a4 100644 --- a/test/correctness/align_bounds.cpp +++ b/test/correctness/align_bounds.cpp @@ -26,8 +26,7 @@ int main(int argc, char **argv) { // LLVM 21 calls getFixedValue() on scalable TypeSize objects in the // AArch64 backend, triggering an assertion. Fixed in LLVM 22 by: // https://github.com/llvm/llvm-project/commit/d1500d12be60 (PR #169764) - if (Internal::get_llvm_version() >= 210 && - Internal::get_llvm_version() < 220 && + if (Internal::get_llvm_version() < 220 && get_jit_target_from_environment().has_feature(Target::SVE2)) { printf("[SKIP] LLVM 21 has known getFixedValue() assertion failures on SVE scalable types.\n"); return 0; diff --git a/test/correctness/bound_small_allocations.cpp b/test/correctness/bound_small_allocations.cpp index 49ca75906eaf..d2863be1d450 100644 --- a/test/correctness/bound_small_allocations.cpp +++ b/test/correctness/bound_small_allocations.cpp @@ -13,8 +13,7 @@ int main(int argc, char **argv) { // LLVM 21 calls getFixedValue() on scalable TypeSize objects in the // AArch64 backend, triggering an assertion. Fixed in LLVM 22 by: // https://github.com/llvm/llvm-project/commit/d1500d12be60 (PR #169764) - if (Internal::get_llvm_version() >= 210 && - Internal::get_llvm_version() < 220 && + if (Internal::get_llvm_version() < 220 && get_jit_target_from_environment().has_feature(Target::SVE2)) { printf("[SKIP] LLVM 21 has known getFixedValue() assertion failures on SVE scalable types.\n"); return 0; diff --git a/test/correctness/fit_function.cpp b/test/correctness/fit_function.cpp index 7a72854e0fc6..20f9a1ea5e75 100644 --- a/test/correctness/fit_function.cpp +++ b/test/correctness/fit_function.cpp @@ -10,8 +10,7 @@ int main(int argc, char **argv) { // LLVM 21 calls getFixedValue() on scalable TypeSize objects in the // AArch64 backend, triggering an assertion. Fixed in LLVM 22 by: // https://github.com/llvm/llvm-project/commit/d1500d12be60 (PR #169764) - if (Internal::get_llvm_version() >= 210 && - Internal::get_llvm_version() < 220 && + if (Internal::get_llvm_version() < 220 && get_jit_target_from_environment().has_feature(Target::SVE2)) { printf("[SKIP] LLVM 21 has known getFixedValue() assertion failures on SVE scalable types.\n"); return 0; diff --git a/test/correctness/logical.cpp b/test/correctness/logical.cpp index 74f0ae233dd0..2d246998f565 100644 --- a/test/correctness/logical.cpp +++ b/test/correctness/logical.cpp @@ -15,8 +15,7 @@ int main(int argc, char **argv) { // LLVM 21 calls getFixedValue() on scalable TypeSize objects in the // AArch64 backend, triggering an assertion. Fixed in LLVM 22 by: // https://github.com/llvm/llvm-project/commit/d1500d12be60 (PR #169764) - if (Internal::get_llvm_version() >= 210 && - Internal::get_llvm_version() < 220 && + if (Internal::get_llvm_version() < 220 && get_jit_target_from_environment().has_feature(Target::SVE2)) { printf("[SKIP] LLVM 21 has known getFixedValue() assertion failures on SVE scalable types.\n"); return 0; diff --git a/test/correctness/predicated_store_load.cpp b/test/correctness/predicated_store_load.cpp index 2cf69af64d8e..af1f0c53d96c 100644 --- a/test/correctness/predicated_store_load.cpp +++ b/test/correctness/predicated_store_load.cpp @@ -490,8 +490,7 @@ int main(int argc, char **argv) { // LLVM 21 calls getFixedValue() on scalable TypeSize objects in the // AArch64 backend, triggering an assertion. Fixed in LLVM 22 by: // https://github.com/llvm/llvm-project/commit/d1500d12be60 (PR #169764) - if (Internal::get_llvm_version() >= 210 && - Internal::get_llvm_version() < 220 && + if (Internal::get_llvm_version() < 220 && t.has_feature(Target::SVE2)) { printf("[SKIP] LLVM 21 has known getFixedValue() assertion failures on SVE scalable types.\n"); return 0; diff --git a/test/correctness/truncated_pyramid.cpp b/test/correctness/truncated_pyramid.cpp index dc5d7b8fa65d..26f0143fc513 100644 --- a/test/correctness/truncated_pyramid.cpp +++ b/test/correctness/truncated_pyramid.cpp @@ -9,8 +9,7 @@ int main(int argc, char **argv) { // LLVM 21 calls getFixedValue() on scalable TypeSize objects in the // AArch64 backend, triggering an assertion. Fixed in LLVM 22 by: // https://github.com/llvm/llvm-project/commit/d1500d12be60 (PR #169764) - if (Internal::get_llvm_version() >= 210 && - Internal::get_llvm_version() < 220 && + if (Internal::get_llvm_version() < 220 && get_jit_target_from_environment().has_feature(Target::SVE2)) { printf("[SKIP] LLVM 21 has known getFixedValue() assertion failures on SVE scalable types.\n"); return 0; diff --git a/test/correctness/vectorize_nested.cpp b/test/correctness/vectorize_nested.cpp index 9e54a2c2b7b8..f04359fe2df0 100644 --- a/test/correctness/vectorize_nested.cpp +++ b/test/correctness/vectorize_nested.cpp @@ -280,8 +280,7 @@ int main(int argc, char **argv) { // LLVM 21 calls getFixedValue() on scalable TypeSize objects in the // AArch64 backend, triggering an assertion. Fixed in LLVM 22 by: // https://github.com/llvm/llvm-project/commit/d1500d12be60 (PR #169764) - if (Internal::get_llvm_version() >= 210 && - Internal::get_llvm_version() < 220 && + if (Internal::get_llvm_version() < 220 && get_jit_target_from_environment().has_feature(Target::SVE2)) { printf("[SKIP] LLVM 21 has known getFixedValue() assertion failures on SVE scalable types.\n"); return 0; diff --git a/test/performance/block_transpose.cpp b/test/performance/block_transpose.cpp index 230296161db0..740908358443 100644 --- a/test/performance/block_transpose.cpp +++ b/test/performance/block_transpose.cpp @@ -118,14 +118,6 @@ int main(int argc, char **argv) { return 0; } - // LLVM 20 is missing llvm.vector.interleave4/deinterleave4 for SVE. - if (Internal::get_llvm_version() < 210 && - target.has_feature(Target::SVE2)) { - printf("[SKIP] LLVM %d is missing SVE vector interleave/deinterleave intrinsics.\n", - Internal::get_llvm_version()); - return 0; - } - test_transpose(scalar_trans); test_transpose_wrap(scalar_trans); test_transpose(vec_y_trans); diff --git a/test/performance/const_division.cpp b/test/performance/const_division.cpp index f993fbac156c..1ba18bba5f75 100644 --- a/test/performance/const_division.cpp +++ b/test/performance/const_division.cpp @@ -128,8 +128,7 @@ int main(int argc, char **argv) { // LLVM 21 calls getFixedValue() on scalable TypeSize objects in the // AArch64 backend, triggering an assertion. Fixed in LLVM 22 by: // https://github.com/llvm/llvm-project/commit/d1500d12be60 (PR #169764) - if (Internal::get_llvm_version() >= 210 && - Internal::get_llvm_version() < 220 && + if (Internal::get_llvm_version() < 220 && target.has_feature(Target::SVE2)) { printf("[SKIP] LLVM 21 has known getFixedValue() assertion failures on SVE scalable types.\n"); return 0; diff --git a/test/performance/nested_vectorization_gemm.cpp b/test/performance/nested_vectorization_gemm.cpp index aa3be997f49e..660d3d7bbdf8 100644 --- a/test/performance/nested_vectorization_gemm.cpp +++ b/test/performance/nested_vectorization_gemm.cpp @@ -11,14 +11,6 @@ int main(int argc, char **argv) { return 0; } - // LLVM 20 is missing llvm.vector.interleave4/deinterleave4 for SVE. - if (Internal::get_llvm_version() < 210 && - target.has_feature(Target::SVE2)) { - printf("[SKIP] LLVM %d is missing SVE vector interleave/deinterleave intrinsics.\n", - Internal::get_llvm_version()); - return 0; - } - // 8-bit mat-mul into 32-bit accumulator { diff --git a/uv.lock b/uv.lock index 255c92a97e9e..9b4be2f4f8be 100644 --- a/uv.lock +++ b/uv.lock @@ -116,19 +116,6 @@ ci-base = [ { name = "setuptools-scm" }, { name = "tbump" }, ] -ci-llvm-20 = [ - { name = "cmake" }, - { name = "halide-llvm", version = "20.1.8", source = { registry = "https://pypi.halide-lang.org/simple" } }, - { name = "ninja" }, - { name = "onnx", version = "1.17.0", source = { registry = "https://piwheels.org/simple" }, marker = "(platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, - { name = "onnx", version = "1.18.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra != 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra != 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (extra != 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, - { name = "pybind11" }, - { name = "pytest" }, - { name = "ruff" }, - { name = "scikit-build-core" }, - { name = "setuptools-scm" }, - { name = "tbump" }, -] ci-llvm-21 = [ { name = "cmake" }, { name = "halide-llvm", version = "21.1.8", source = { registry = "https://pypi.halide-lang.org/simple" } }, @@ -207,19 +194,6 @@ ci-base = [ { name = "setuptools-scm", specifier = ">=8.3.1" }, { name = "tbump", specifier = ">=6.11" }, ] -ci-llvm-20 = [ - { name = "cmake", specifier = ">=3.28" }, - { name = "halide-llvm", specifier = "~=20.1.0", index = "https://pypi.halide-lang.org/simple" }, - { name = "ninja", specifier = ">=1.11,!=1.13.0" }, - { name = "onnx", marker = "platform_machine != 'armv7l' and platform_machine != 'armv8l'", specifier = "==1.18.0" }, - { name = "onnx", marker = "platform_machine == 'armv7l' or platform_machine == 'armv8l'", specifier = "==1.17.0", index = "https://piwheels.org/simple" }, - { name = "pybind11", specifier = ">=2.11.1" }, - { name = "pytest" }, - { name = "ruff", specifier = ">=0.12" }, - { name = "scikit-build-core", specifier = "~=0.11.0" }, - { name = "setuptools-scm", specifier = ">=8.3.1" }, - { name = "tbump", specifier = ">=6.11" }, -] ci-llvm-21 = [ { name = "cmake", specifier = ">=3.28" }, { name = "halide-llvm", specifier = "~=21.1.0", index = "https://pypi.halide-lang.org/simple" }, @@ -271,31 +245,6 @@ tools = [ { name = "tbump", specifier = ">=6.11" }, ] -[[package]] -name = "halide-llvm" -version = "20.1.8" -source = { registry = "https://pypi.halide-lang.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.11' and platform_machine == 'armv7l' and sys_platform != 'armv7l' and sys_platform != 'armv8l') or (python_full_version >= '3.11' and platform_machine == 'armv8l' and sys_platform != 'armv7l' and sys_platform != 'armv8l')", - "python_full_version >= '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l' and sys_platform != 'armv7l' and sys_platform != 'armv8l'", - "(python_full_version >= '3.11' and platform_machine == 'armv7l' and sys_platform == 'armv7l') or (python_full_version >= '3.11' and platform_machine == 'armv8l' and sys_platform == 'armv7l') or (python_full_version >= '3.11' and platform_machine == 'armv7l' and sys_platform == 'armv8l') or (python_full_version >= '3.11' and platform_machine == 'armv8l' and sys_platform == 'armv8l')", - "(python_full_version >= '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l' and sys_platform == 'armv7l') or (python_full_version >= '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l' and sys_platform == 'armv8l')", - "(python_full_version < '3.11' and platform_machine == 'armv7l' and sys_platform != 'armv7l' and sys_platform != 'armv8l') or (python_full_version < '3.11' and platform_machine == 'armv8l' and sys_platform != 'armv7l' and sys_platform != 'armv8l')", - "python_full_version < '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l' and sys_platform != 'armv7l' and sys_platform != 'armv8l'", - "(python_full_version < '3.11' and platform_machine == 'armv7l' and sys_platform == 'armv7l') or (python_full_version < '3.11' and platform_machine == 'armv8l' and sys_platform == 'armv7l') or (python_full_version < '3.11' and platform_machine == 'armv7l' and sys_platform == 'armv8l') or (python_full_version < '3.11' and platform_machine == 'armv8l' and sys_platform == 'armv8l')", - "(python_full_version < '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l' and sys_platform == 'armv7l') or (python_full_version < '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l' and sys_platform == 'armv8l')", -] -wheels = [ - { url = "https://pypi.halide-lang.org/packages/halide_llvm-20.1.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:8230565dc0458e4f1b60444e9df259a3c66ffed8c2b54444b73dbb2c7e5606b5" }, - { url = "https://pypi.halide-lang.org/packages/halide_llvm-20.1.8-py3-none-macosx_11_0_x86_64.whl", hash = "sha256:1db95c9dc2fe1436845094f7e38fe7ac3b26883f58bafdd3d859c87146143934" }, - { url = "https://pypi.halide-lang.org/packages/halide_llvm-20.1.8-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:890149d5578821440ed62367771652e4efcf23dbd743c404291e2d35995e8c9f" }, - { url = "https://pypi.halide-lang.org/packages/halide_llvm-20.1.8-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:19613fa1120b1a02590fb945e83910e77f83bdfe4c53a91cec81d960d75ae487" }, - { url = "https://pypi.halide-lang.org/packages/halide_llvm-20.1.8-py3-none-manylinux_2_28_i686.whl", hash = "sha256:aad3556c18d3cfb262187e5503d5c56eccebb6cb05d657b2dfa721d2c09e495c" }, - { url = "https://pypi.halide-lang.org/packages/halide_llvm-20.1.8-py3-none-manylinux_2_31_armv7l.whl", hash = "sha256:cf4b9c2906a271d87a996d02dd513aa46cc75c7fdabdbfc0c4b8b62f77c8d62e" }, - { url = "https://pypi.halide-lang.org/packages/halide_llvm-20.1.8-py3-none-win32.whl", hash = "sha256:2c938fea9c01a0bef9929c8a8739f1e5152c6140a9bbac938dea6183206344fc" }, - { url = "https://pypi.halide-lang.org/packages/halide_llvm-20.1.8-py3-none-win_amd64.whl", hash = "sha256:aaefe8611f94823ac192752857d64e7370d44e32b38b9251e55467fc92695633" }, -] - [[package]] name = "halide-llvm" version = "21.1.8"