[Mlir-commits] [mlir] dc2dd56 - [mlir][bufferization] Speed up DPS aliasing operand lookup (#231362)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Tue Oct 13 19:51:54 PDT 2026
Author: Akun
Date: 2026-10-14T11:51:49+09:00
New Revision: dc2dd561157fbefbee67db619b3325e9733a1196
URL: https://github.com/llvm/llvm-project/commit/dc2dd561157fbefbee67db619b3325e9733a1196
DIFF: https://github.com/llvm/llvm-project/commit/dc2dd561157fbefbee67db619b3325e9733a1196.diff
LOG: [mlir][bufferization] Speed up DPS aliasing operand lookup (#231362)
Override `getAliasingOpOperands` for destination-style ops to directly
look up the tied output operand.
The default implementation scans all tensor operands on each query.
Direct lookup avoids repeated scans when querying many results.
Added:
Modified:
mlir/include/mlir/Dialect/Bufferization/IR/DstBufferizableOpInterfaceImpl.h
Removed:
################################################################################
diff --git a/mlir/include/mlir/Dialect/Bufferization/IR/DstBufferizableOpInterfaceImpl.h b/mlir/include/mlir/Dialect/Bufferization/IR/DstBufferizableOpInterfaceImpl.h
index bd0d1c9939795..d0351f718d54d 100644
--- a/mlir/include/mlir/Dialect/Bufferization/IR/DstBufferizableOpInterfaceImpl.h
+++ b/mlir/include/mlir/Dialect/Bufferization/IR/DstBufferizableOpInterfaceImpl.h
@@ -44,8 +44,18 @@ struct DstBufferizableOpInterfaceExternalModel
return {{dstOp.getTiedOpResult(&opOperand), BufferRelation::Equivalent}};
return {};
}
-};
+ AliasingOpOperandList
+ getAliasingOpOperands(Operation *op, Value value,
+ const AnalysisState &state) const {
+ // OpResults alias with their respective tied output operands.
+ auto result = dyn_cast<OpResult>(value);
+ if (!result)
+ return {};
+ auto dstOp = cast<DestinationStyleOpInterface>(op);
+ return {{dstOp.getTiedOpOperand(result), BufferRelation::Equivalent}};
+ }
+};
} // namespace bufferization
} // namespace mlir
More information about the Mlir-commits
mailing list