Merge branch 'win-openmp-xfail' of github.com:omjavaid/llvm-project i… #76
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and Test OpenMP | |
| on: | |
| push: | |
| paths: | |
| ## - 'clang/lib/AST/*OpenMP*' | |
| # - 'clang/lib/Sema/*OpenMP*' | |
| # - 'clang/lib/CodeGen/*OpenMP*' | |
| # - 'openmp/**' | |
| # - '.github/workflows/openmp-build-and-test.yaml' | |
| # pull_request: | |
| # paths: | |
| # - 'clang/lib/AST/*OpenMP*' | |
| # - 'clang/lib/Sema/*OpenMP*' | |
| # - 'clang/lib/CodeGen/*OpenMP*' | |
| # - 'openmp/**' | |
| # - '.github/workflows/openmp-build-and-test.yaml' | |
| permissions: | |
| contents: read # Default everything to read-only | |
| jobs: | |
| windows-msvc: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Install dependencies | |
| run: | | |
| choco install -y ninja | |
| # We need a newer llvm-lib, in order to build the OpenMP interface library | |
| choco install -y llvm --version=19.1.0 | |
| - uses: actions/checkout@v4 | |
| - name: Set up the MSVC dev environment | |
| uses: ilammy/msvc-dev-cmd@v1 | |
| - name: Setup ccache | |
| uses: hendrikmuhs/ccache-action@v1 | |
| with: | |
| max-size: 700M | |
| key: clangcl-19 | |
| variant: sccache | |
| - name: Build and test | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake ../llvm ` | |
| -G Ninja ` | |
| -DCMAKE_BUILD_TYPE=Release ` | |
| -DLLVM_TARGETS_TO_BUILD=X86 ` | |
| -DLLVM_ENABLE_PROJECTS="clang;openmp" ` | |
| -DCMAKE_C_COMPILER=clang-cl ` | |
| -DCMAKE_CXX_COMPILER=clang-cl ` | |
| -DLLVM_LIT_ARGS="-v --time-tests --show-unsupported" ` | |
| -DCMAKE_C_COMPILER_LAUNCHER=sccache ` | |
| -DCMAKE_CXX_COMPILER_LAUNCHER=sccache | |
| ninja check-openmp | |
| windows-msvc-separate: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Install dependencies | |
| run: | | |
| choco install -y ninja | |
| - uses: actions/checkout@v4 | |
| - name: Set up the MSVC dev environment | |
| uses: ilammy/msvc-dev-cmd@v1 | |
| - name: Setup ccache | |
| uses: hendrikmuhs/ccache-action@v1 | |
| with: | |
| max-size: 700M | |
| key: clangcl-default | |
| variant: sccache | |
| - name: Build Clang and test tools | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake ../llvm ` | |
| -G Ninja ` | |
| -DCMAKE_BUILD_TYPE=Release ` | |
| -DLLVM_TARGETS_TO_BUILD=X86 ` | |
| -DLLVM_ENABLE_PROJECTS="clang" ` | |
| -DCMAKE_C_COMPILER=clang-cl ` | |
| -DCMAKE_CXX_COMPILER=clang-cl ` | |
| -DCMAKE_C_COMPILER_LAUNCHER=sccache ` | |
| -DCMAKE_CXX_COMPILER_LAUNCHER=sccache | |
| ninja | |
| echo "$PWD\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append | |
| echo "LLVM_TOOLS=$PWD\bin" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append | |
| - name: Build and test OpenMP | |
| run: | | |
| cd openmp | |
| mkdir build | |
| cd build | |
| cmake .. ` | |
| -G Ninja ` | |
| -DCMAKE_BUILD_TYPE=Release ` | |
| -DOPENMP_LLVM_TOOLS_DIR="$Env:LLVM_TOOLS" ` | |
| -DCMAKE_C_COMPILER=clang-cl ` | |
| -DCMAKE_CXX_COMPILER=clang-cl ` | |
| -DOPENMP_LIT_ARGS="-v --time-tests --show-unsupported" ` | |
| -DOPENMP_TEST_C_COMPILER=clang ` | |
| -DOPENMP_TEST_CXX_COMPILER=clang++ | |
| ninja check-openmp | |
| llvm-mingw: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Install dependencies | |
| run: | | |
| choco install -y ninja | |
| - uses: actions/checkout@v4 | |
| - name: Install llvm-mingw | |
| run: | | |
| curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20240917/llvm-mingw-20240917-ucrt-x86_64.zip | |
| powershell Expand-Archive llvm-mingw*.zip -DestinationPath . | |
| del llvm-mingw*.zip | |
| mv llvm-mingw* c:\llvm-mingw | |
| echo "c:\llvm-mingw\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append | |
| - name: Setup ccache | |
| uses: hendrikmuhs/ccache-action@v1 | |
| with: | |
| max-size: 700M | |
| key: llvm-mingw | |
| variant: ccache | |
| - name: Build and test | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake ../llvm ` | |
| -G Ninja ` | |
| -DCMAKE_BUILD_TYPE=Release ` | |
| -DLLVM_TARGETS_TO_BUILD=X86 ` | |
| -DLLVM_ENABLE_PROJECTS="clang;compiler-rt;openmp" ` | |
| -DCLANG_DEFAULT_RTLIB=compiler-rt ` | |
| -DCLANG_DEFAULT_UNWINDLIB=libunwind ` | |
| -DCLANG_DEFAULT_CXX_STDLIB=libc++ ` | |
| -DCLANG_DEFAULT_LINKER=lld ` | |
| -DCOMPILER_RT_USE_BUILTINS_LIBRARY=TRUE ` | |
| -DSANITIZER_CXX_ABI=libc++ ` | |
| -DCMAKE_ASM_MASM_COMPILER=llvm-ml ` | |
| -DLIBOMP_ASMFLAGS=-m64 ` | |
| -DLLVM_LIT_ARGS="-v --time-tests --show-unsupported" ` | |
| -DCMAKE_C_COMPILER_LAUNCHER=ccache ` | |
| -DCMAKE_CXX_COMPILER_LAUNCHER=ccache | |
| ninja compiler-rt | |
| ninja check-openmp | |
| llvm-mingw-separate: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Install dependencies | |
| run: | | |
| choco install -y ninja | |
| - uses: actions/checkout@v4 | |
| - name: Install llvm-mingw | |
| run: | | |
| curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20240917/llvm-mingw-20240917-ucrt-x86_64.zip | |
| powershell Expand-Archive llvm-mingw*.zip -DestinationPath . | |
| del llvm-mingw*.zip | |
| mv llvm-mingw* c:\llvm-mingw | |
| echo "c:\llvm-mingw\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append | |
| - name: Setup ccache | |
| uses: hendrikmuhs/ccache-action@v1 | |
| with: | |
| max-size: 700M | |
| key: llvm-mingw | |
| variant: ccache | |
| - name: Build Clang and test tools | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake ../llvm ` | |
| -G Ninja ` | |
| -DCMAKE_BUILD_TYPE=Release ` | |
| -DLLVM_TARGETS_TO_BUILD=X86 ` | |
| -DLLVM_ENABLE_PROJECTS="clang;compiler-rt" ` | |
| -DCLANG_DEFAULT_RTLIB=compiler-rt ` | |
| -DCLANG_DEFAULT_UNWINDLIB=libunwind ` | |
| -DCLANG_DEFAULT_CXX_STDLIB=libc++ ` | |
| -DCLANG_DEFAULT_LINKER=lld ` | |
| -DCOMPILER_RT_USE_BUILTINS_LIBRARY=TRUE ` | |
| -DSANITIZER_CXX_ABI=libc++ ` | |
| -DCMAKE_C_COMPILER_LAUNCHER=ccache ` | |
| -DCMAKE_CXX_COMPILER_LAUNCHER=ccache | |
| ninja not FileCheck clang compiler-rt | |
| echo "$PWD\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append | |
| echo "LLVM_TOOLS=$PWD\bin" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append | |
| - name: Build and test OpenMP | |
| run: | | |
| cd openmp | |
| mkdir build | |
| cd build | |
| cmake .. ` | |
| -G Ninja ` | |
| -DCMAKE_BUILD_TYPE=Release ` | |
| -DOPENMP_LLVM_TOOLS_DIR="$Env:LLVM_TOOLS" ` | |
| -DCMAKE_C_COMPILER=clang ` | |
| -DCMAKE_CXX_COMPILER=clang++ ` | |
| -DCMAKE_ASM_MASM_COMPILER=llvm-ml ` | |
| -DOPENMP_LIT_ARGS="-v --time-tests --show-unsupported" ` | |
| -DLIBOMP_ASMFLAGS=-m64 | |
| ninja check-openmp | |
| linux: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update && sudo apt-get install ninja-build | |
| - uses: actions/checkout@v4 | |
| - name: Setup ccache | |
| uses: hendrikmuhs/ccache-action@v1 | |
| with: | |
| max-size: 700M | |
| key: linux | |
| - name: Build and test | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake ../llvm \ | |
| -G Ninja \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DLLVM_TARGETS_TO_BUILD=X86 \ | |
| -DLLVM_ENABLE_PROJECTS="clang;openmp" \ | |
| -DOPENMP_ENABLE_LIBOMPTARGET=OFF \ | |
| -DLLVM_LIT_ARGS="-v --time-tests --show-unsupported" \ | |
| -DCMAKE_C_COMPILER_LAUNCHER=ccache \ | |
| -DCMAKE_CXX_COMPILER_LAUNCHER=ccache | |
| ninja check-openmp | |
| linux-separate: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update && sudo apt-get install ninja-build | |
| - uses: actions/checkout@v4 | |
| - name: Setup ccache | |
| uses: hendrikmuhs/ccache-action@v1 | |
| with: | |
| max-size: 700M | |
| key: linux | |
| - name: Build Clang and test tools | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake ../llvm \ | |
| -G Ninja \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DLLVM_TARGETS_TO_BUILD=X86 \ | |
| -DLLVM_ENABLE_PROJECTS="clang" \ | |
| -DCMAKE_C_COMPILER_LAUNCHER=ccache \ | |
| -DCMAKE_CXX_COMPILER_LAUNCHER=ccache | |
| ninja not FileCheck clang | |
| echo $(pwd)/bin > $GITHUB_PATH | |
| echo LLVM_TOOLS=$(pwd)/bin > $GITHUB_ENV | |
| - name: Build and test OpenMP | |
| run: | | |
| cd openmp | |
| mkdir build | |
| cd build | |
| cmake .. \ | |
| -G Ninja \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DOPENMP_LLVM_TOOLS_DIR="$LLVM_TOOLS" \ | |
| -DCMAKE_C_COMPILER=clang \ | |
| -DCMAKE_CXX_COMPILER=clang++ \ | |
| -DOPENMP_ENABLE_LIBOMPTARGET=OFF \ | |
| -DOPENMP_LIT_ARGS="-v --time-tests --show-unsupported" | |
| ninja check-openmp |