[Mlir-commits] [mlir] [mlir][Vector] Add support for poison indices to `Extract/IndexOp` (PR #123488)
Jakub Kuderski
llvmlistbot at llvm.org
Sun Jan 19 12:37:18 PST 2025
================
@@ -2249,6 +2258,23 @@ LogicalResult foldExtractFromFromElements(ExtractOp extractOp,
resultType.getNumElements()));
return success();
}
+
+/// Fold an insert or extract operation into an poison value when a poison index
+/// is found at any dimension of the static position.
+template <typename OpTy>
+LogicalResult foldPoisonIndexInsertExtractOp(OpTy op,
+ PatternRewriter &rewriter) {
+ auto hasPoisonIndex = [](int64_t index) {
+ return index == OpTy::kPoisonIndex;
+ };
+
+ if (llvm::none_of(op.getStaticPosition(), hasPoisonIndex))
+ return failure();
----------------
kuhar wrote:
use `llvm::is_contained`?
https://github.com/llvm/llvm-project/pull/123488
More information about the Mlir-commits
mailing list