[mlir][cmake] Don't add dependencies on mlir-(generic-)headers
authorJeff Niu <jeff@modular.com>
Thu, 1 Sep 2022 18:06:46 +0000 (11:06 -0700)
committerJeff Niu <jeff@modular.com>
Fri, 2 Sep 2022 19:13:49 +0000 (12:13 -0700)
commit7691b69d5b2f5e9d8b210add22926335b3541444
treefa77ce87ee5833699ab51cb985067618b10d8e62
parentbf7a74499c2026754d4b847dfa18dc7287651c60
[mlir][cmake] Don't add dependencies on mlir-(generic-)headers

Every dialect was dependent on `mlir-headers`, which was causing the
build of any single MLIR dialect to pull in a bunch of extra
dependencies that aren't needed. Now, MLIR dialects will need to
explicitly depend on `MLIR*IncGen` targets to pull in any needed
headers.

This does not impact the actual `mlir-header` target.

Consider the "simple" Arithmetic dialect. Before:

```
% ninja MLIRArithmeticDialect
[151/812] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/JSONBackend.cpp.o
```

After:

```
% ninja MLIRArithmeticDialect
[207/374] Building CXX object tools/mlir/lib/TableGen/CMakeFiles/MLIRTableGen.dir/GenInfo.cpp.o
```

(Both clean builds)

Reviewed By: rriddle, jpienaar

Differential Revision: https://reviews.llvm.org/D133132
mlir/cmake/modules/AddMLIR.cmake
mlir/lib/Analysis/CMakeLists.txt
mlir/lib/Dialect/Transform/IR/CMakeLists.txt
mlir/lib/Pass/CMakeLists.txt
mlir/lib/Rewrite/CMakeLists.txt