diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e83fe0d79..cdb41ef00 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -243,7 +243,7 @@ jobs: setenvs: export LLVM_VERSION=10.0.0 OPENIMAGEIO_CMAKE_FLAGS="-DBUILD_FMT_VERSION=7.0.1" PUGIXML_VERSION=v1.10 - - desc: latest releases gcc11/C++17 llvm12 boost1.71 exr3.1 py3.8 avx2 batch-b16avx512 + - desc: latest releases gcc11/C++17 llvm13 boost1.71 exr3.1 py3.8 avx2 batch-b16avx512 nametag: linux-latest-releases os: ubuntu-20.04 cxx_compiler: g++-11 @@ -255,11 +255,11 @@ jobs: python_ver: 3.8 simd: avx2,f16c batched: b8_AVX2,b8_AVX512,b16_AVX512 - setenvs: export LLVM_VERSION=12.0.0 + setenvs: export LLVM_VERSION=13.0.0 LLVM_DISTRO_NAME=ubuntu-20.04 OPENCOLORIO_VERSION=v2.1.1 PUGIXML_VERSION=v1.11.4 - - desc: bleeding edge gcc11/C++17 llvm13 oiio/ocio/exr/pybind-master boost1.71 py3.9 avx2 batch-b16avx512 + - desc: bleeding edge gcc11/C++17 llvm14 oiio/ocio/exr/pybind-master boost1.71 py3.9 avx2 batch-b16avx512 nametag: linux-bleeding-edge os: ubuntu-20.04 cxx_compiler: g++-11 @@ -271,8 +271,8 @@ jobs: python_ver: 3.9 simd: avx2,f16c batched: b8_AVX2,b8_AVX512,b16_AVX512 - setenvs: export LLVM_VERSION=13.0.0 - LLVM_DISTRO_NAME=ubuntu-20.04 + setenvs: export LLVM_VERSION=14.0.0 + LLVM_DISTRO_NAME=ubuntu-18.04 OPENCOLORIO_VERSION=main PUGIXML_VERSION=master diff --git a/INSTALL.md b/INSTALL.md index 1a2e4cece..ad4ff199e 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -40,7 +40,7 @@ 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, or 13**, including clang +* **[LLVM](http://www.llvm.org) 9, 10, 11, 12, 13, or 14**, including clang libraries. * [Boost](https://www.boost.org) 1.55 or newer (tested through boost 1.78) diff --git a/src/build-scripts/build_llvm.bash b/src/build-scripts/build_llvm.bash index 2e8f49fca..3b375e543 100755 --- a/src/build-scripts/build_llvm.bash +++ b/src/build-scripts/build_llvm.bash @@ -29,7 +29,7 @@ if [[ `uname` == "Linux" ]] ; then fi LLVMTAR=clang+llvm-${LLVM_VERSION}-x86_64-linux-gnu-${LLVM_DISTRO_NAME}.tar.xz echo LLVMTAR = $LLVMTAR - if [[ "$LLVM_VERSION" == "10.0.0" ]] || [[ "$LLVM_VERSION" == "11.0.0" ]] || [[ "$LLVM_VERSION" == "11.1.0" ]] || [[ "$LLVM_VERSION" == "12.0.0" ]] || [[ "$LLVM_VERSION" == "13.0.0" ]] ; then + if [[ "$LLVM_VERSION" == "10.0.0" ]] || [[ "$LLVM_VERSION" == "11.0.0" ]] || [[ "$LLVM_VERSION" == "11.1.0" ]] || [[ "$LLVM_VERSION" == "12.0.0" ]] || [[ "$LLVM_VERSION" == "13.0.0" ]] || [[ "$LLVM_VERSION" == "14.0.0" ]] || [[ "$LLVM_VERSION" == "14.0.1" ]] ; then # new curl --location https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/${LLVMTAR} -o $LLVMTAR else diff --git a/src/liboslexec/llvm_util.cpp b/src/liboslexec/llvm_util.cpp index b30c89318..a917d621e 100644 --- a/src/liboslexec/llvm_util.cpp +++ b/src/liboslexec/llvm_util.cpp @@ -45,7 +45,11 @@ #include #include #include +#if OSL_LLVM_VERSION < 140 #include +#else +#include +#endif #include #include @@ -1677,8 +1681,6 @@ LLVM_Util::setup_optimization_passes (int optlevel, bool target_host) builder.DisableUnrollLoops = false; builder.SLPVectorize = false; builder.LoopVectorize = false; - builder.DisableTailCalls = false; - if (target_machine) target_machine->adjustPassManager(builder); diff --git a/testsuite/render-microfacet/ref/out-llvm14.exr b/testsuite/render-microfacet/ref/out-llvm14.exr new file mode 100644 index 000000000..c34804b81 Binary files /dev/null and b/testsuite/render-microfacet/ref/out-llvm14.exr differ