diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cd8694409..4d615b791 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -398,8 +398,10 @@ jobs: python_ver: "3.10" simd: avx2,f16c batched: b8_AVX2,b8_AVX512,b16_AVX512 - setenvs: export LLVM_VERSION=17.0.6 - LLVM_DISTRO_NAME=ubuntu-22.04 + setenvs: export LLVM_VERSION=18.1.8 + xLLVM_VERSION=17.0.6 + LLVM_DISTRO_NAME=ubuntu-18.04 + xLLVM_DISTRO_NAME=ubuntu-22.04 OPENCOLORIO_VERSION=main PUGIXML_VERSION=master - desc: clang14/C++17 llvm14 py3.8 avx2 batch-b16avx512 diff --git a/INSTALL.md b/INSTALL.md index d95b0db2e..17d608ef2 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -47,8 +47,8 @@ NEW or CHANGED dependencies since the last major release are **bold**. $OpenImageIO_ROOT/lib to be in your LD_LIBRARY_PATH (or DYLD_LIBRARY_PATH on OS X). -* [LLVM](http://www.llvm.org) 9, 10, 11, 12, 13, 14, 15, 16, 17, or 18, including - clang libraries. +* [LLVM](http://www.llvm.org) 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, or 19, + including clang libraries. * (optional) For GPU rendering on NVIDIA GPUs: * [OptiX](https://developer.nvidia.com/rtx/ray-tracing/optix) 7.0 or higher. diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake index a652739cb..36aa570bf 100644 --- a/src/cmake/externalpackages.cmake +++ b/src/cmake/externalpackages.cmake @@ -58,7 +58,7 @@ checked_find_package (pugixml REQUIRED # LLVM library setup checked_find_package (LLVM REQUIRED VERSION_MIN 9.0 - VERSION_MAX 18.9 + VERSION_MAX 19.9 PRINT LLVM_SYSTEM_LIBRARIES CLANG_LIBRARIES) # ensure include directory is added (in case of non-standard locations include_directories (BEFORE SYSTEM "${LLVM_INCLUDES}") diff --git a/src/liboslexec/llvm_passes.h b/src/liboslexec/llvm_passes.h index 43c7a7289..d0a1b7502 100644 --- a/src/liboslexec/llvm_passes.h +++ b/src/liboslexec/llvm_passes.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include diff --git a/src/liboslexec/llvm_util.cpp b/src/liboslexec/llvm_util.cpp index de41e217f..1317de048 100644 --- a/src/liboslexec/llvm_util.cpp +++ b/src/liboslexec/llvm_util.cpp @@ -1173,7 +1173,12 @@ static llvm::StringMap sCpuFeatures; static bool populateCpuFeatures() { +#if OSL_LLVM_VERSION >= 190 + sCpuFeatures = llvm::sys::getHostCPUFeatures(); + return true; +#else return llvm::sys::getHostCPUFeatures(sCpuFeatures); +#endif } @@ -1551,10 +1556,12 @@ LLVM_Util::make_jit_execengine(std::string* err, TargetISA requestedISA, #if OSL_LLVM_VERSION < 120 options.StackAlignmentOverride = 0; #endif - options.FunctionSections = true; - options.UseInitArray = false; - options.FloatABIType = llvm::FloatABI::Default; + options.FunctionSections = true; + options.UseInitArray = false; + options.FloatABIType = llvm::FloatABI::Default; +#if OSL_LLVM_VERSION < 190 options.RelaxELFRelocations = false; +#endif //options.DebuggerTuning = llvm::DebuggerKind::GDB; // TODO: Find equivalent function for PrintMachineCode post LLVM 12