Home
last modified time | relevance | path

Searched refs:AffineExpr (Results 1 – 25 of 70) sorted by relevance

123

/external/llvm-project/mlir/include/mlir/IR/
DAffineExpr.h66 class AffineExpr {
70 constexpr AffineExpr() : expr(nullptr) {} in AffineExpr() function
71 /* implicit */ AffineExpr(const ImplType *expr) in AffineExpr() function
74 bool operator==(AffineExpr other) const { return expr == other.expr; }
75 bool operator!=(AffineExpr other) const { return !(*this == other); }
114 void walk(std::function<void(AffineExpr)> callback) const;
120 AffineExpr replaceDimsAndSymbols(ArrayRef<AffineExpr> dimReplacements,
121 ArrayRef<AffineExpr> symReplacements) const;
125 AffineExpr replace(AffineExpr expr, AffineExpr replacement) const;
130 AffineExpr replace(const DenseMap<AffineExpr, AffineExpr> &map) const;
[all …]
DAffineMap.h55 AffineExpr result);
60 ArrayRef<AffineExpr> results, MLIRContext *context);
87 inferFromExprList(ArrayRef<ArrayRef<AffineExpr>> exprsList);
89 inferFromExprList(ArrayRef<SmallVector<AffineExpr, 4>> exprsList);
125 ArrayRef<AffineExpr> getResults() const;
126 AffineExpr getResult(unsigned idx) const;
134 void walkExprs(std::function<void(AffineExpr)> callback) const;
141 AffineMap replaceDimsAndSymbols(ArrayRef<AffineExpr> dimReplacements,
142 ArrayRef<AffineExpr> symReplacements,
215 ArrayRef<AffineExpr> results, MLIRContext *context);
[all …]
DIntegerSet.h50 ArrayRef<AffineExpr> constraints,
69 IntegerSet replaceDimsAndSymbols(ArrayRef<AffineExpr> dimReplacements,
70 ArrayRef<AffineExpr> symReplacements,
84 ArrayRef<AffineExpr> getConstraints() const;
86 AffineExpr getConstraint(unsigned idx) const;
100 void walkExprs(function_ref<void(AffineExpr)> callback) const;
DAffineExprVisitor.h73 RetTy walkPostOrder(AffineExpr expr) { in walkPostOrder()
115 RetTy visit(AffineExpr expr) { in visit()
269 SmallVector<AffineExpr, 4> localExprs;
299 AffineExpr localExpr);
312 int findLocalId(AffineExpr localExpr);
DBuiltinTypes.h19 class AffineExpr; variable
760 SmallVectorImpl<AffineExpr> &strides,
761 AffineExpr &offset);
807 AffineExpr makeCanonicalStridedLayoutExpr(ArrayRef<int64_t> sizes,
808 ArrayRef<AffineExpr> exprs,
813 AffineExpr makeCanonicalStridedLayoutExpr(ArrayRef<int64_t> sizes,
/external/llvm-project/mlir/lib/IR/
DAffineExpr.cpp21 MLIRContext *AffineExpr::getContext() const { return expr->context; } in getContext()
23 AffineExprKind AffineExpr::getKind() const { return expr->kind; } in getKind()
26 void AffineExpr::walk(std::function<void(AffineExpr)> callback) const { in walk()
28 std::function<void(AffineExpr)> callback; in walk()
30 AffineExprWalker(std::function<void(AffineExpr)> callback) in walk()
43 AffineExpr mlir::getAffineBinaryOpExpr(AffineExprKind kind, AffineExpr lhs, in getAffineBinaryOpExpr()
44 AffineExpr rhs) { in getAffineBinaryOpExpr()
61 AffineExpr
62 AffineExpr::replaceDimsAndSymbols(ArrayRef<AffineExpr> dimReplacements, in replaceDimsAndSymbols()
63 ArrayRef<AffineExpr> symReplacements) const { in replaceDimsAndSymbols()
[all …]
DAffineMap.cpp34 IntegerAttr constantFold(AffineExpr expr) { in constantFold()
41 Optional<int64_t> constantFoldImpl(AffineExpr expr) { in constantFoldImpl()
76 Optional<int64_t> constantFoldBinExpr(AffineExpr expr, in constantFoldBinExpr()
118 SmallVector<AffineExpr, 4> affExprs; in getPermutationMap()
132 expr.walk([&maxDim, &maxSym](AffineExpr e) { in getMaxDimAndSymbol()
159 AffineMap::inferFromExprList(ArrayRef<ArrayRef<AffineExpr>> exprsList) { in inferFromExprList()
164 AffineMap::inferFromExprList(ArrayRef<SmallVector<AffineExpr, 4>> exprsList) { in inferFromExprList() argument
170 SmallVector<AffineExpr, 4> dimExprs; in getMultiDimIdentityMap()
182 ArrayRef<AffineExpr> results = getResults(); in isIdentity()
221 ArrayRef<AffineExpr> AffineMap::getResults() const { in getResults()
[all …]
DIntegerSet.cpp44 ArrayRef<AffineExpr> IntegerSet::getConstraints() const { in getConstraints()
48 AffineExpr IntegerSet::getConstraint(unsigned idx) const { in getConstraint()
66 void IntegerSet::walkExprs(function_ref<void(AffineExpr)> callback) const { in walkExprs()
72 ArrayRef<AffineExpr> dimReplacements, ArrayRef<AffineExpr> symReplacements, in replaceDimsAndSymbols()
74 SmallVector<AffineExpr, 8> constraints; in replaceDimsAndSymbols()
DBuiltinTypes.cpp502 static void extractStridesFromTerm(AffineExpr e, in extractStridesFromTerm()
503 AffineExpr multiplicativeFactor, in extractStridesFromTerm()
504 MutableArrayRef<AffineExpr> strides, in extractStridesFromTerm()
505 AffineExpr &offset) { in extractStridesFromTerm()
517 static LogicalResult extractStrides(AffineExpr e, in extractStrides()
518 AffineExpr multiplicativeFactor, in extractStrides()
519 MutableArrayRef<AffineExpr> strides, in extractStrides()
520 AffineExpr &offset) { in extractStrides()
562 SmallVectorImpl<AffineExpr> &strides, in getStridesAndOffset()
563 AffineExpr &offset) { in getStridesAndOffset()
[all …]
DAffineExprDetail.h35 using KeyTy = std::tuple<unsigned, AffineExpr, AffineExpr>;
52 AffineExpr lhs;
53 AffineExpr rhs;
/external/llvm-project/mlir/lib/Parser/
DAffineParser.cpp71 ParseResult parseIdentifierDefinition(AffineExpr idExpr);
73 AffineExpr parseAffineExpr();
74 AffineExpr parseParentheticalExpr();
75 AffineExpr parseNegateExpression(AffineExpr lhs);
76 AffineExpr parseIntegerExpr();
77 AffineExpr parseBareIdExpr();
78 AffineExpr parseSSAIdExpr(bool isSymbol);
79 AffineExpr parseSymbolSSAIdExpr();
81 AffineExpr getAffineBinaryOpExpr(AffineHighPrecOp op, AffineExpr lhs,
82 AffineExpr rhs, llvm::SMLoc opLoc);
[all …]
/external/llvm-project/mlir/include/mlir/Dialect/Linalg/IR/
DLinalgOps.h60 using ReassociationExprs = SmallVector<AffineExpr, 2>;
89 SmallVector<AffineExpr, 4> makeAffineDimExprs(unsigned num, unsigned &startIdx,
96 extern SmallVector<AffineExpr, 4>
97 weightedPoolingInputIndex(PoolingOp op, ArrayRef<AffineExpr> outputDims,
98 ArrayRef<AffineExpr> windowDims);
106 SmallVector<AffineExpr, 4> concat(ArrayRef<AffineExpr> a,
107 ArrayRef<AffineExpr> b);
112 SmallVectorImpl<AffineExpr> &res);
/external/llvm-project/mlir/lib/Dialect/Affine/EDSC/
DBuilders.cpp86 static std::pair<AffineExpr, Value>
89 AffineExpr d; in categorizeValueByAffineType()
105 function_ref<AffineExpr(AffineExpr, AffineExpr)> affCombiner) { in createBinaryIndexHandle() argument
108 AffineExpr d0, d1; in createBinaryIndexHandle()
133 function_ref<AffineExpr(AffineExpr, AffineExpr)> affCombiner) { in createBinaryHandle() argument
157 lhs, rhs, [](AffineExpr d0, AffineExpr d1) { return d0 + d1; }); in operator +()
162 lhs, rhs, [](AffineExpr d0, AffineExpr d1) { return d0 - d1; }); in operator -()
167 lhs, rhs, [](AffineExpr d0, AffineExpr d1) { return d0 * d1; }); in operator *()
172 lhs, rhs, [](AffineExpr d0, AffineExpr d1) -> AffineExpr { in operator /()
179 lhs, rhs, [](AffineExpr d0, AffineExpr d1) { return d0 % d1; }); in operator %()
[all …]
/external/llvm-project/mlir/tools/mlir-linalg-ods-gen/
Dmlir-linalg-ods-gen.cpp443 using AffineDimList = SmallVector<std::pair<StringRef, AffineExpr>, 4>;
444 using AffineSymbolList = SmallVector<std::pair<StringRef, AffineExpr>, 4>;
450 std::function<AffineExpr(StringRef)> bareIdParsingHook, in AffineParser()
456 SmallVector<AffineExpr, 4>
461 AffineExpr parseAffineExpr();
469 AffineExpr parseParentheticalExpr();
470 AffineExpr parseNegateExpression(AffineExpr lhs);
471 AffineExpr parseIntegerExpr();
472 AffineExpr parseBareIdExpr();
474 AffineExpr getAffineBinaryOpExpr(AffineHighPrecOp op, AffineExpr lhs,
[all …]
/external/llvm-project/mlir/lib/Dialect/SDBM/
DSDBMExpr.cpp60 AffineExpr match(AffineExpr expr);
61 AffineExpr matched();
84 AffineExpr matched;
100 AffineExpr AffineExprMatcher::match(AffineExpr expr) { in match()
104 return AffineExpr(); in match()
109 return AffineExpr(); in match()
114 return AffineExpr(); in match()
118 return AffineExpr(); in match()
122 return AffineExpr(); in match()
129 AffineExpr AffineExprMatcher::matched() { return storage->matched; } in matched()
[all …]
/external/llvm-project/mlir/lib/Dialect/Linalg/Transforms/
DTransforms.cpp353 static AffineExpr substWithMin(AffineExpr e, AffineExpr dim, AffineExpr min, in substWithMin()
354 AffineExpr max, bool positivePath = true) { in substWithMin()
358 AffineExpr lhs = bin.getLHS(); in substWithMin()
359 AffineExpr rhs = bin.getRHS(); in substWithMin()
386 static AffineExpr substituteLoopInExpr(AffineExpr expr, AffineExpr dimExpr, in substituteLoopInExpr()
391 AffineExpr lb = getAffineDimExpr(dims.size(), ctx); in substituteLoopInExpr()
393 AffineExpr ub = getAffineDimExpr(dims.size(), ctx); in substituteLoopInExpr()
395 AffineExpr step = getAffineSymbolExpr(symbols.size(), ctx); in substituteLoopInExpr()
398 AffineExpr ee = substWithMin(expr, dimExpr, lb, in substituteLoopInExpr()
409 for (AffineExpr &expr : exprs) { in substitute()
[all …]
DDropUnitDims.cpp108 SmallVector<AffineExpr, 4> dimReplacements; in replaceUnitDims()
119 SmallVector<AffineExpr, 4> symReplacements; in replaceUnitDims()
251 ArrayRef<AffineExpr> exprs = indexMap.getResults(); in replaceUnitExtents()
252 SmallVector<AffineExpr, 2> reassociations; in replaceUnitExtents()
254 SmallVector<AffineExpr, 4> newIndexExprs; in replaceUnitExtents()
258 AffineExpr zeroExpr = getAffineConstantExpr(0, context); in replaceUnitExtents()
447 SmallVector<SmallVector<AffineExpr, 4>, 4> reassociationExprs( in matchAndRewrite()
481 reassociationExprs, [&](ArrayRef<AffineExpr> exprs) -> AffineMap { in matchAndRewrite()
/external/llvm-project/mlir/lib/Dialect/Affine/Transforms/
DAffineLoopNormalize.cpp40 SmallVector<AffineExpr, 8> lbExprs; in normalizeAffineParallel()
41 SmallVector<AffineExpr, 8> ubExprs; in normalizeAffineParallel()
49 AffineExpr ubExpr = ranges.getResult(i).ceilDiv(step); in normalizeAffineParallel()
54 AffineExpr lbExpr = lbMap.getResult(i); in normalizeAffineParallel()
129 SmallVector<AffineExpr, 1> origLbExprs(origLbMap.getResults().begin(), in normalizeAffineFor()
131 SmallVector<AffineExpr, 2> origUbExprs(origUbMap.getResults().begin(), in normalizeAffineFor()
133 SmallVector<AffineExpr, 4> newUbExprs; in normalizeAffineFor()
173 AffineExpr origIVExpr = opBuilder.getAffineDimExpr(lb.getMap().getNumDims()); in normalizeAffineFor()
174 AffineExpr newIVExpr = origIVExpr * origLoopStep + origLbMap.getResult(0); in normalizeAffineFor()
/external/llvm-project/mlir/lib/Dialect/Linalg/IR/
DLinalgOps.cpp586 SmallVector<AffineExpr, 4> reassociations; in collapseReassociationMaps()
589 for (AffineExpr rhsExpr : rhs.getResults()) { in collapseReassociationMaps()
703 ArrayRef<AffineExpr> strides) { in isReshapableDimBand()
730 AffineExpr offset; in computeReshapeCollapsedType()
731 SmallVector<AffineExpr, 4> strides; in computeReshapeCollapsedType()
738 SmallVector<AffineExpr, 4> newStrides; in computeReshapeCollapsedType()
748 AffineExpr stride = strides[currentDim + dim - 1]; in computeReshapeCollapsedType()
751 stride = AffineExpr(); in computeReshapeCollapsedType()
799 expr.walk([&pos](AffineExpr e) { in getMaxPosOfType()
822 static SmallVector<SmallVector<AffineExpr, 2>, 2>
[all …]
/external/llvm-project/mlir/include/mlir/Conversion/AffineToStandard/
DAffineToStandard.h15 class AffineExpr; variable
33 Value expandAffineExpr(OpBuilder &builder, Location loc, AffineExpr expr,
/external/llvm-project/mlir/include/mlir/Dialect/Affine/IR/
DAffineValueMap.h66 void setResult(unsigned i, AffineExpr e) { map.setResult(i, e); } in setResult()
67 AffineExpr getResult(unsigned i) { return map.getResult(i); } in getResult()
/external/llvm-project/mlir/lib/Dialect/Vector/EDSC/
DBuilders.cpp24 using IndexingExprs = ArrayRef<ArrayRef<AffineExpr>>; in vector_contraction()
33 AffineExpr m, n, k; in vector_contraction_matmul()
/external/llvm-project/mlir/include/mlir/EDSC/
DBuilders.h136 StructuredIndexed operator()(ArrayRef<AffineExpr> indexings) { in operator()
141 StructuredIndexed(Value v, ArrayRef<AffineExpr> indexings) in StructuredIndexed()
146 StructuredIndexed(Type t, ArrayRef<AffineExpr> indexings) in StructuredIndexed()
161 ArrayRef<AffineExpr> getExprs() const { return exprs; } in getExprs()
169 SmallVector<AffineExpr, 4> exprs;
/external/llvm-project/mlir/lib/Dialect/Linalg/EDSC/
DBuilders.cpp33 SmallVector<SmallVector<AffineExpr, 4>, 4> exprsList; in makeGenericLinalgOp()
178 AffineExpr m, n, k; in linalg_generic_matmul()
196 AffineExpr m, n, k; in linalg_generic_matmul()
224 AffineExpr b, f, h, w, kh, kw, c; in linalg_generic_conv_nhwc()
261 AffineExpr b, dm, c, h, w, kh, kw; in linalg_generic_dilated_conv_nhwc()
/external/tensorflow/tensorflow/compiler/mlir/xla/experimental/conv_emitter/
Dconv_emitter_transforms.cc79 void SetBoundForSimpleLoop(mlir::AffineForOp loop, mlir::AffineExpr new_bound, in SetBoundForSimpleLoop()
110 mlir::AffineExpr length = loop.getUpperBoundMap().getResult(0); in TileLoop()
121 std::vector<mlir::AffineExpr> replacements; in TileLoop()

123