[PATCH] D78771: Add dependency edges between generated headers and users

Valentin Churavy via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 23 16:52:36 PDT 2020


vchuravy created this revision.
Herald added subscribers: llvm-commits, Kayjukh, frgossen, grosul1, bader, Joonsoo, liufengdb, aartbik, lucyrfox, mgester, arpith-jacob, csigg, nicolasvasilache, antiagainst, shauheen, jpienaar, rriddle, mehdi_amini, mgorny.
Herald added a reviewer: mravishankar.
Herald added a reviewer: antiagainst.
Herald added a reviewer: nicolasvasilache.
Herald added a reviewer: herhut.
Herald added a reviewer: rriddle.
Herald added a reviewer: aartbik.
Herald added a reviewer: ftynse.
Herald added a project: LLVM.
rriddle added inline comments.
vchuravy added a reviewer: stephenneuendorffer.
vchuravy edited projects, added MLIR; removed LLVM.
Herald added a project: LLVM.
vchuravy added a child revision: D78773: Adjust libMLIR building to more closely follow libClang.
vchuravy marked an inline comment as done.


================
Comment at: mlir/lib/Analysis/CMakeLists.txt:24
+  DEPENDS
+  MLIRCallInterfacesIncGen
+  MLIRLoopLikeInterfaceIncGen
----------------
This seems really annoying if necessary. There is already an explicit library for the dependency, e.g. MLIRCallInterfaces, this seems redundant and exposes things that shouldn't necessarily need to be exposed.


================
Comment at: mlir/lib/Analysis/CMakeLists.txt:24
+  DEPENDS
+  MLIRCallInterfacesIncGen
+  MLIRLoopLikeInterfaceIncGen
----------------
rriddle wrote:
> This seems really annoying if necessary. There is already an explicit library for the dependency, e.g. MLIRCallInterfaces, this seems redundant and exposes things that shouldn't necessarily need to be exposed.
Yeah it is really annoying... 

I had to add these for https://reviews.llvm.org/D78773 so it my be an issue with that PR.

To reproduce on D78773, this should be enough
```
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=host -DLLVM_ENABLE_PROJECTS=mlir -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON ../llvm
ninja
```


While fixing libMLIR.so I noticed a couple of implicit
dependency edges that happen to just work right now.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D78771

Files:
  mlir/lib/Analysis/CMakeLists.txt
  mlir/lib/Conversion/AVX512ToLLVM/CMakeLists.txt
  mlir/lib/Conversion/AffineToStandard/CMakeLists.txt
  mlir/lib/Conversion/GPUToCUDA/CMakeLists.txt
  mlir/lib/Conversion/GPUToSPIRV/CMakeLists.txt
  mlir/lib/Conversion/GPUToVulkan/CMakeLists.txt
  mlir/lib/Conversion/LinalgToLLVM/CMakeLists.txt
  mlir/lib/Conversion/LinalgToSPIRV/CMakeLists.txt
  mlir/lib/Conversion/LoopToStandard/CMakeLists.txt
  mlir/lib/Conversion/LoopsToGPU/CMakeLists.txt
  mlir/lib/Conversion/StandardToLLVM/CMakeLists.txt
  mlir/lib/Conversion/StandardToSPIRV/CMakeLists.txt
  mlir/lib/Conversion/StandardToStandard/CMakeLists.txt
  mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
  mlir/lib/Conversion/VectorToLoops/CMakeLists.txt
  mlir/lib/Dialect/AVX512/CMakeLists.txt
  mlir/lib/Dialect/Affine/Utils/CMakeLists.txt
  mlir/lib/Dialect/GPU/CMakeLists.txt
  mlir/lib/Dialect/LLVMIR/CMakeLists.txt
  mlir/lib/Dialect/Linalg/Analysis/CMakeLists.txt
  mlir/lib/Dialect/Linalg/EDSC/CMakeLists.txt
  mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
  mlir/lib/Dialect/Linalg/Utils/CMakeLists.txt
  mlir/lib/Dialect/LoopOps/CMakeLists.txt
  mlir/lib/ExecutionEngine/CMakeLists.txt
  mlir/lib/Parser/CMakeLists.txt
  mlir/lib/Pass/CMakeLists.txt
  mlir/lib/Target/CMakeLists.txt

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D78771.259755.patch
Type: text/x-patch
Size: 11323 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200423/fc6fb185/attachment-0001.bin>


More information about the llvm-commits mailing list