Skip to content

Backend for generating RVSDG using the MLIR dialect #5

Backend for generating RVSDG using the MLIR dialect

Backend for generating RVSDG using the MLIR dialect #5

Workflow file for this run

name: MLIR
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: 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:
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
needs: build-mlir
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: "Build MLIR RVSDG Dialect"
uses: ./.github/actions/BuildMlirDialect
- name: Compile jlm
run: CPPFLAGS=-DMLIR_ENABLED=1 make jlm-release -j `nproc`
- name: Run unit and C tests
run: make check -j `nproc`
gcc:
runs-on: ubuntu-22.04
needs: build-mlir
steps:
- uses: actions/checkout@v3
- name: "Install LLVM and Clang"
uses: ./.github/actions/InstallLlvmDependencies
- name: "Build MLIR RVSDG Dialect"
uses: ./.github/actions/BuildMlirDialect
- name: Compile jlm
run: CPPFLAGS=-DMLIR_ENABLED=1 make CXX=g++ jlm-release -j `nproc`
- name: Run unit and C tests
run: make check -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: Add jlc to PATH
run: echo '${{ github.workspace }}/bin' >> $GITHUB_PATH
- name: Install valgrind
run: sudo apt-get install valgrind
- name: Valgrind Check
run: make -C ${{ github.workspace }} valgrind-check