[Mlir-commits] [mlir] [MLIR][OneShotBufferize] Fix opFilter init (PR #130633)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Mon Mar 10 09:25:46 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir-bufferization
Author: Thomas Preud'homme (RoboTux)
<details>
<summary>Changes</summary>
OneShotBufferizePass's opFilter definition in runOnOperation() fails to
allow operations for all dialect when the dialectFilter has an empty
array value (as opposed to no value). This happens when constructing
OneShotBufferizePass from a OneShotBufferizePassOptions parameter with
an empty dialectFilter. This commit only does filtering if filterDialect
option has a value and it is not an empty array.
---
Full diff: https://github.com/llvm/llvm-project/pull/130633.diff
1 Files Affected:
- (modified) mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp (+1-1)
``````````diff
diff --git a/mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp b/mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
index 97d4aab9f3dd5..c0e3fca428376 100644
--- a/mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
+++ b/mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
@@ -142,7 +142,7 @@ struct OneShotBufferizePass
// Configure op filter.
OpFilter::Entry::FilterFn filterFn = [&](Operation *op) {
// Filter may be specified via options.
- if (this->dialectFilter.hasValue())
+ if (this->dialectFilter.hasValue() && !(*this->dialectFilter).empty())
return llvm::is_contained(this->dialectFilter,
op->getDialect()->getNamespace());
// No filter specified: All other ops are allowed.
``````````
</details>
https://github.com/llvm/llvm-project/pull/130633
More information about the Mlir-commits
mailing list