Attempt to build MLIR.

Hello everyone,

Since MLIR landed today. I’m trying to build it using

and also by adding -DLLVM_ALL_PROJECTS.

It’s giving this compilation error –

Building CXX object tools/mlir/lib/Analysis/CMakeFiles/obj.MLIRAnalysis.dir/AffineAnalysis.cpp.o
In file included from /home/sourabh/mirror-upstream/mlir/include/mlir/Dialect/AffineOps/AffineOps.h:22:0,
from /home/sourabh/mirror-upstream/mlir/lib/Analysis/AffineAnalysis.cpp:17:
/home/sourabh/mirror-upstream/mlir/include/mlir/Transforms/LoopLikeInterface.h:22:10: fatal error: mlir/Transforms/ No such file or directory
#include “mlir/Transforms/”

Am I missing something? – some pre-requisites ?

Thanks in anticipation!
compilation terminated.

Hi Sourabh,

This usually indicates a missing dependency in our CMakeLists.txt, if you restart the build a couple of times it will likely succeed.

I will try to fix this missing dependency today.

These errors seem pretty pervasive for me on a clean build. It appears that it arises because when tablegen’d headers are included in a .h file, every place where that .h file is used needs a dependency on the corresponding IncGen targets. This seems broken in the short term and unmaintainable in the long term. There really needs to be a way of automatically generating the right dependencies.


Not sure, tried couple of times. Seems like while building with “-DBUILD_SHARED_LIBS=ON” causes all these problems.
However, building MLIR with this FLAG disabled – building fine.


Hello all,
FWIW, I am still hitting this [*] build error on release branch 10.x (llvmorg-10.0.0-rc5) when building with:
Note that I am building with Ninja, perhaps that’s the reason?


[*] /Users/johan/llvm/llvm/mlir/include/mlir/Transforms/LoopLikeInterface.h:22:10: fatal error: ‘mlir/Transforms/’ file not found
#include “mlir/Transforms/”

Hi Johan,

I suspect that you’re running into some missing dependencies and that running ninja -k 0; ninja -k 0 will get you a working build. Alternatively, you might have better luck using HEAD, as I think we’ve worked out most of these dependency issues there.