chudur-budur / mlir-format-standalone

A standalone dev version for the MLIR formatter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Logo

mlir-format standalone

The standalone development version of mlir-format

This system is built from LLVM 42204c94ba9f, based on the standalone-mlir system.

Building

This setup assumes that you have built LLVM and MLIR in $LLVM_BUILD_DIR and installed them to $LLVM_INSTALL_PREFIX. To build, run

mkdir build && cd build
cmake -G Ninja .. -DMLIR_DIR=$LLVM_INSTALL_PREFIX/lib/cmake/mlir -DLLVM_EXTERNAL_LIT=$LLVM_BUILD_DIR/bin/llvm-lit
cmake --build .

Note: Make sure to pass -DLLVM_INSTALL_UTILS=ON when building LLVM with CMake in order to install FileCheck to the chosen installation prefix.

Usage

The purpose of this repo is to auto-format MLIR files without changing variable names or removing comments. There is an example poorly formatted MLIR file sample_gemm.mlir. When the repo is compiled, you can try running the tool against that file:

MLIR_FILE=${PWD}/sample_gemm.mlir
./build/bin/standalone-opt $MLIR_FILE

Roadmap

You can find the discussion around this system on the LLVM forums.

The idea with this project is to use mlir-opt as the formatter. However it has a few features that we will need to remove or tweak to get a PoC.

  • keep the original variable names
  • keep the comments
  • not wrap the MLIR code in a module Arguably these features are handy for other usecases too (as optional config flags)

About

A standalone dev version for the MLIR formatter

License:Other


Languages

Language:C++ 79.7%Language:CMake 10.5%Language:Python 3.5%Language:MLIR 3.4%Language:C 2.8%