Install build rules #942
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: | |
build: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Cache build | |
id: cache-build | |
uses: actions/cache@v4 | |
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 --enable-asserts 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@v4 | |
- name: "Install LLVM and Clang" | |
uses: ./.github/actions/InstallLlvmDependencies | |
- name: Configure jlm | |
run: ./configure.sh --enable-asserts 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 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: "Build MLIR RVSDG Dialect" | |
uses: ./.github/actions/BuildMlirDialect | |
- name: "Configure jlm" | |
run: ./configure.sh --enable-mlir ./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@v4 | |
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@v4 | |
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@v4 | |
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: 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 |