[mlir][linalg] Allow tensor_to_memref in dependence analysis
authorStephan Herhut <herhut@google.com>
Tue, 17 Nov 2020 12:19:57 +0000 (13:19 +0100)
committerStephan Herhut <herhut@google.com>
Tue, 17 Nov 2020 13:37:47 +0000 (14:37 +0100)
This enables the use of fusion on buffers in partially lowered
programs.

Differential Revision: https://reviews.llvm.org/D91613

mlir/lib/Dialect/Linalg/Analysis/DependenceAnalysis.cpp

index 96da933..0a49cac 100644 (file)
@@ -43,6 +43,9 @@ Value Aliases::find(Value v) {
     if (!defOp)
       return v;
 
+    if (isa<TensorToMemrefOp>(defOp))
+      return v;
+
     if (auto memEffect = dyn_cast<MemoryEffectOpInterface>(defOp)) {
       // Collect all memory effects on `v`.
       SmallVector<MemoryEffects::EffectInstance, 1> effects;