[Mlir-commits] [mlir] [mlir][vectorize] Support affine.apply in SuperVectorize (PR #77968)
Sergei Grechanik
llvmlistbot at llvm.org
Fri Feb 2 10:28:20 PST 2024
================
@@ -978,6 +977,32 @@ static arith::ConstantOp vectorizeConstant(arith::ConstantOp constOp,
return newConstOp;
}
+/// We have no need to vectorize affine.apply. However, we still need to
+/// generate it and replace the operands with values in valueScalarReplacement.
+static Operation *vectorizeAffineApplyOp(AffineApplyOp applyOp,
+ VectorizationState &state) {
+ SmallVector<Value, 8> updatedOperands;
+ for (Value operand : applyOp.getOperands()) {
+ Value updatedOperand = operand;
+ if (state.valueScalarReplacement.contains(operand)) {
+ updatedOperand = state.valueScalarReplacement.lookupOrDefault(operand);
----------------
sergei-grechanik wrote:
I think you can use lookupOrNull instead of contains+lookupOrDefault
https://github.com/llvm/llvm-project/pull/77968
More information about the Mlir-commits
mailing list