Updated MLIR backend to the new build framework #311
Workflow file for this run
This file contains 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: Tests | ||
on: | ||
pull_request: | ||
branches: [ master ] | ||
jobs: | ||
docs: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Install dependencies | ||
run: sudo apt-get install graphviz doxygen | ||
- name: Configure jlm | ||
run: ./configure.sh | ||
- name: Generate documentation | ||
run: make docs | ||
ClangFormat: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: "Install clang format" | ||
uses: ./.github/actions/InstallLlvmDependencies | ||
- name: Find source files | ||
run: find . -name "*.cpp" -or -name "*.hpp" > sourceFiles.txt | ||
- name: Check format | ||
run: clang-format-16 --Werror --dry-run --style="file:.clang-format" --verbose --files=sourceFiles.txt | ||
build-mlir-dialect: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: '0' | ||
- name: "Install LLVM and Clang" | ||
uses: ./.github/actions/InstallLlvmDependencies | ||
- name: "Build MLIR RVSDG Dialect" | ||
uses: ./.github/actions/BuildMlirDialect | ||
build: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Cache build | ||
id: cache-build | ||
uses: actions/cache@v3 | ||
with: | ||
path: ${{ github.workspace }}/* | ||
key: ${{ runner.os }}-${{ github.sha }}-jlm | ||
- name: "Install LLVM and Clang" | ||
uses: ./.github/actions/InstallLlvmDependencies | ||
- name: Configure jlm | ||
run: ./configure.sh CXX=clang++-16 | ||
- name: Compile jlm | ||
run: make -O -j `nproc` | ||
- name: Run unit and C tests | ||
run: make check -O -j `nproc` | ||
gcc: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: "Install LLVM and Clang" | ||
uses: ./.github/actions/InstallLlvmDependencies | ||
- name: Configure jlm | ||
run: ./configure.sh CXX=g++ | ||
- name: Compile jlm | ||
run: make -O -j `nproc` | ||
- name: Run unit and C tests | ||
run: make check -j `nproc` | ||
mlir: | ||
runs-on: ubuntu-22.04 | ||
needs: build-mlir-dialect | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: "Install LLVM and Clang" | ||
uses: ./.github/actions/InstallLlvmDependencies | ||
- name: "Build MLIR RVSDG Dialect" | ||
uses: ./.github/actions/BuildMlirDialect | ||
- name: Configure jlm | ||
run: ./configure.sh --mlir-path ./lib/mlir-rvsdg CXX=clang++-16 | ||
- name: Compile jlm | ||
run: make -O -j `nproc` | ||
- name: Run unit and C tests | ||
run: make check -O -j `nproc` | ||
valgrind: | ||
runs-on: ubuntu-22.04 | ||
needs: build | ||
steps: | ||
- name: Cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: ${{ github.workspace }}/* | ||
key: ${{ runner.os }}-${{ github.sha }}-jlm | ||
- name: "Install LLVM and Clang" | ||
uses: ./.github/actions/InstallLlvmDependencies | ||
- name: Install valgrind | ||
run: sudo apt-get install valgrind | ||
- name: Valgrind Check | ||
run: make -C ${{ github.workspace }} valgrind-check | ||
polybench: | ||
runs-on: ubuntu-22.04 | ||
needs: build | ||
steps: | ||
- name: Cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: ${{ github.workspace }}/* | ||
key: ${{ runner.os }}-${{ github.sha }}-jlm | ||
- name: "Install LLVM and Clang" | ||
uses: ./.github/actions/InstallLlvmDependencies | ||
- name: Add jlc to PATH | ||
run: echo '${{ github.workspace }}/build' >> $GITHUB_PATH | ||
- name: Clone polybench | ||
run: git clone https://github.com/phate/polybench-jlm.git | ||
- name: Check polybench | ||
run: make -C polybench-jlm check -j `nproc` | ||
llvm-test-suite: | ||
runs-on: ubuntu-22.04 | ||
needs: build | ||
steps: | ||
- name: Cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: ${{ github.workspace }}/* | ||
key: ${{ runner.os }}-${{ github.sha }}-jlm | ||
- name: "Install LLVM and Clang" | ||
uses: ./.github/actions/InstallLlvmDependencies | ||
- name: Add jlc to PATH | ||
run: echo '${{ github.workspace }}/build' >> $GITHUB_PATH | ||
- name: Clone jlm-test-suite | ||
run: git clone https://github.com/phate/jlm-eval-suite.git | ||
- name: Update submodules | ||
run: make -C jlm-eval-suite submodule | ||
- name: Install lit | ||
run: sudo python3 /usr/lib/llvm-16/build/utils/lit/setup.py install | ||
- name: Apply patch | ||
run: cd jlm-eval-suite && make apply-llvm-git-patch | ||
- name: Run llvm-test-suite | ||
run: cd jlm-eval-suite/llvm-test-suite && make llvm-run-opt |