Skip to content

Commit 9779a73

Browse files
authored
[mlir] Fix some cmake dependencies in LLVMIR Dialect (llvm#66956)
While looking into reducing needless interdependencies between upstream MLIR dialects and passes, I discovered that the ROCDL Dialect redundantely uses links in `VectorToLLVM` conversion pass when it actually requires just the LLVM Dialect. Furthermore, after a build failure, I ran `ninja -t missingdeps` which revealed that the NVVM Dialect depends on headers of the GPU dialect (https://github.com/llvm/llvm-project/blob/211c9752c8200fbb3ff7be1f6aa98037901758ce/mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h#L18) without stating so in CMake. This causes flaky builds as it is not guaranteed that the header exists prior to the dialect being compiled.
1 parent 4139f0d commit 9779a73

File tree

5 files changed

+5
-5
lines changed

5 files changed

+5
-5
lines changed

mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
#define MLIR_DIALECT_LLVMIR_NVVMDIALECT_H_
1616

1717
#include "mlir/Bytecode/BytecodeOpInterface.h"
18-
#include "mlir/Dialect/GPU/IR/CompilationInterfaces.h"
1918
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
2019
#include "mlir/IR/Dialect.h"
2120
#include "mlir/IR/OpDefinition.h"

mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
#define MLIR_DIALECT_LLVMIR_ROCDLDIALECT_H_
2424

2525
#include "mlir/Bytecode/BytecodeOpInterface.h"
26-
#include "mlir/Dialect/GPU/IR/CompilationInterfaces.h"
2726
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
2827
#include "mlir/IR/Dialect.h"
2928
#include "mlir/IR/OpDefinition.h"

mlir/lib/Dialect/LLVMIR/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ add_mlir_dialect_library(MLIRNVVMDialect
4747
${MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/LLVMIR
4848

4949
DEPENDS
50+
MLIRGPUCompilationAttrInterfacesIncGen
5051
MLIRNVVMOpsIncGen
5152
MLIRNVVMConversionsIncGen
5253
intrinsics_gen
@@ -68,6 +69,7 @@ add_mlir_dialect_library(MLIRROCDLDialect
6869
${MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/LLVMIR
6970

7071
DEPENDS
72+
MLIRGPUCompilationAttrInterfacesIncGen
7173
MLIRROCDLOpsIncGen
7274
MLIRROCDLConversionsIncGen
7375
intrinsics_gen
@@ -78,6 +80,6 @@ add_mlir_dialect_library(MLIRROCDLDialect
7880

7981
LINK_LIBS PUBLIC
8082
MLIRIR
83+
MLIRLLVMDialect
8184
MLIRSideEffectInterfaces
82-
MLIRVectorToLLVM
8385
)

mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
#include "mlir/Dialect/LLVMIR/NVVMDialect.h"
1818

1919
#include "mlir/Conversion/ConvertToLLVM/ToLLVMInterface.h"
20-
#include "mlir/Dialect/GPU/IR/GPUDialect.h"
20+
#include "mlir/Dialect/GPU/IR/CompilationInterfaces.h"
2121
#include "mlir/Dialect/Utils/StaticValueUtils.h"
2222
#include "mlir/IR/Builders.h"
2323
#include "mlir/IR/BuiltinAttributes.h"

mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
#include "mlir/Dialect/LLVMIR/ROCDLDialect.h"
1818

19-
#include "mlir/Dialect/GPU/IR/GPUDialect.h"
19+
#include "mlir/Dialect/GPU/IR/CompilationInterfaces.h"
2020
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
2121
#include "mlir/IR/Builders.h"
2222
#include "mlir/IR/BuiltinTypes.h"

0 commit comments

Comments
 (0)