Getting Started - MLIR (original) (raw)
Getting Started
Don’t miss the MLIR Tutorial -recording -online step-by-step
Please refer to theLLVM Getting Startedin general to build LLVM. Below are quick instructions to build MLIR with LLVM.
The following instructions for compiling and testing MLIR assume that you havegit
,ninja, and a working C++ toolchain (seeLLVM requirements).
As a starter, you may trythe tutorial on building a compiler for a Toy language.
TIP
See theTesting Guide - CLI Incantationssection for additional ways to invoke and filter tests that can help you be more efficient for regular development.
Unix-like compile/testing:
git clone https://github.com/llvm/llvm-project.git
mkdir llvm-project/build
cd llvm-project/build
cmake -G Ninja ../llvm \
-DLLVM_ENABLE_PROJECTS=mlir \
-DLLVM_BUILD_EXAMPLES=ON \
-DLLVM_TARGETS_TO_BUILD="Native;NVPTX;AMDGPU" \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_ASSERTIONS=ON
# Using clang and lld speeds up the build, we recommend adding:
# -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLLVM_ENABLE_LLD=ON
# CCache can drastically speed up further rebuilds, try adding:
# -DLLVM_CCACHE_BUILD=ON
# Optionally, using ASAN/UBSAN can find bugs early in development, enable with:
# -DLLVM_USE_SANITIZER="Address;Undefined"
# Optionally, enabling integration tests as well
# -DMLIR_INCLUDE_INTEGRATION_TESTS=ON
cmake --build . --target check-mlir
It is recommended that you install clang
and lld
on your machine (sudo apt-get install clang lld
on Ubuntu for example) and uncomment the last part of the cmake invocation above.
If you need debug info, you can use -DCMAKE_BUILD_TYPE=Debug
or-DCMAKE_BUILD_TYPE=RelWithDebInfo
. It is recommended to use-DLLVM_USE_SPLIT_DWARF=ON
to save ~ 30%-40% disk space with debug builds.
Windows compile/testing:
To compile and test on Windows using Visual Studio 2017:
REM In shell with Visual Studio environment set up, e.g., with command such as
REM $visual-studio-install\Auxiliary\Build\vcvarsall.bat" x64
REM invoked.
git clone https://github.com/llvm/llvm-project.git
mkdir llvm-project\build
cd llvm-project\build
cmake ..\llvm -G "Visual Studio 15 2017 Win64" -DLLVM_ENABLE_PROJECTS=mlir -DLLVM_BUILD_EXAMPLES=ON -DLLVM_TARGETS_TO_BUILD="Native" -DCMAKE_BUILD_TYPE=Release -Thost=x64 -DLLVM_ENABLE_ASSERTIONS=ON
cmake --build . --target tools/mlir/test/check-mlir