/llvm-project/mlir/include/mlir/Dialect/IRDL/ |
H A D | IRDLVerifiers.h | 42 ConstraintVerifier(ArrayRef<std::unique_ptr<Constraint>> constraints); 57 ArrayRef<std::unique_ptr<Constraint>> constraints; 152 SmallVector<unsigned> constraints) in DynParametricAttrConstraint() argument 153 : attrDef(attrDef), constraints(std::move(constraints)) {} in DynParametricAttrConstraint() 163 SmallVector<unsigned> constraints; variable 171 SmallVector<unsigned> constraints) in DynParametricTypeConstraint() argument 172 : typeDef(typeDef), constraints(std::move(constraints)) {} in DynParametricTypeConstraint() 182 SmallVector<unsigned> constraints; variable 188 AnyOfConstraint(SmallVector<unsigned> constraints) in AnyOfConstraint() argument 189 : constraints(std::move(constraints)) {} in AnyOfConstraint() [all …]
|
/llvm-project/mlir/include/mlir/Analysis/Presburger/ |
H A D | Simplex.h | 431 explicit LexSimplexBase(const IntegerRelation &constraints) in LexSimplexBase() argument 432 : LexSimplexBase(constraints.getNumVars()) { in LexSimplexBase() 433 intersectIntegerRelation(constraints); in LexSimplexBase() 435 explicit LexSimplexBase(const IntegerRelation &constraints, in LexSimplexBase() argument 437 : LexSimplexBase(constraints.getNumVars(), isSymbol) { in LexSimplexBase() 438 intersectIntegerRelation(constraints); in LexSimplexBase() 484 explicit LexSimplex(const IntegerRelation &constraints) in LexSimplex() argument 485 : LexSimplexBase(constraints) {} in LexSimplex() 582 SymbolicLexSimplex(const IntegerRelation &constraints, in SymbolicLexSimplex() argument 585 : LexSimplexBase(constraints, isSymbol), domainPoly(symbolDomain), in SymbolicLexSimplex() [all …]
|
/llvm-project/mlir/lib/Dialect/SCF/Utils/ |
H A D | AffineCanonicalizationUtils.cpp | 68 FlatAffineValueConstraints constraints) { in canonicalizeMinMaxOp() argument 72 affine::simplifyConstrainedMinMaxOp(op, std::move(constraints)); in canonicalizeMinMaxOp() 150 FlatAffineValueConstraints constraints; in canonicalizeMinMaxOpInLoop() local 167 if (failed(addLoopRangeConstraints(constraints, iv, lb, ub, step))) in canonicalizeMinMaxOpInLoop() 171 return canonicalizeMinMaxOp(rewriter, op, constraints); in canonicalizeMinMaxOpInLoop() 202 FlatAffineValueConstraints constraints; in rewritePeeledMinMaxOp() local 203 constraints.appendDimVar({iv}); in rewritePeeledMinMaxOp() 204 constraints.appendSymbolVar({ub, step}); in rewritePeeledMinMaxOp() 206 constraints.addBound(BoundType::EQ, 1, *constUb); in rewritePeeledMinMaxOp() 208 constraints.addBound(BoundType::EQ, 2, *constStep); in rewritePeeledMinMaxOp() [all …]
|
/llvm-project/mlir/lib/Dialect/IRDL/ |
H A D | IRDLVerifiers.cpp | 28 ArrayRef<std::unique_ptr<Constraint>> constraints) in ConstraintVerifier() argument 29 : constraints(constraints), assigned() { in ConstraintVerifier() 30 assigned.resize(this->constraints.size()); in ConstraintVerifier() 37 assert(variable < constraints.size() && "invalid constraint variable"); in verify() 51 LogicalResult result = constraints[variable]->verify(emitError, attr, *this); in verify() 121 if (params.size() != constraints.size()) { in verify() 127 << constraints.size(); in verify() 133 if (failed(context.verify(emitError, params[i], constraints[i]))) in verify() 164 if (params.size() != constraints.size()) { in verify() 170 << constraints.size(); in verify() [all …]
|
H A D | IRDLLoading.cpp | 36 ArrayRef<std::unique_ptr<Constraint>> constraints, in irdlAttrOrTypeVerifier() argument 44 ConstraintVerifier verifier(constraints); in irdlAttrOrTypeVerifier() 302 SmallVector<std::unique_ptr<Constraint>> constraints; in createVerifier() local 310 constraints.push_back(std::move(verifier)); in createVerifier() 382 [constraints{std::move(constraints)}, in createVerifier() 389 ConstraintVerifier verifier(constraints); in createVerifier() 452 SmallVector<std::unique_ptr<Constraint>> constraints; in getAttrOrTypeVerifier() local 460 constraints.push_back(std::move(verifier)); in getAttrOrTypeVerifier() 485 constraints{std::move(constraints)}]( in getAttrOrTypeVerifier() 488 return irdlAttrOrTypeVerifier(emitError, params, constraints, in getAttrOrTypeVerifier()
|
/llvm-project/mlir/lib/IR/ |
H A D | IntegerSet.cpp | 22 return set->constraints.size(); in getNumConstraints() 42 return set->constraints; in getConstraints() 71 SmallVector<AffineExpr, 8> constraints; in replaceDimsAndSymbols() local 72 constraints.reserve(getNumConstraints()); in replaceDimsAndSymbols() 74 constraints.push_back( in replaceDimsAndSymbols() 77 return get(numResultDims, numResultSyms, constraints, getEqFlags()); in replaceDimsAndSymbols()
|
H A D | IntegerSetDetail.h | 33 ArrayRef<AffineExpr> constraints; member 40 std::get<2>(key) == constraints && std::get<3>(key) == eqFlags; 49 res->constraints = allocator.copyInto(std::get<2>(key)); in construct()
|
/llvm-project/clang-tools-extra/docs/clang-tidy/checks/modernize/ |
H A D | use-constraints.rst | 1 .. title:: clang-tidy - modernize-use-constraints 3 modernize-use-constraints 13 in the code. C++20 introduces concepts and constraints as a cleaner language 52 // warning: use C++20 requires constraints instead of enable_if [modernize-use-constraints] 56 // warning: use C++20 requires constraints instead of enable_if [modernize-use-constraints] 62 // warning: use C++20 requires constraints instead of enable_if [modernize-use-constraints]
|
/llvm-project/mlir/include/mlir/IR/ |
H A D | Constraints.td | 9 // This file defines constraints/predicates for verifiers. 25 // Predicates are used to compose constraints (see next section for details). 45 // The following special placeholders are supported in constraints for an op: 53 // For type constraints, it's a little bit special since we want the 54 // constraints on each type definition reads naturally and we want to attach 55 // type constraints directly to an operand/result, $_self will be replaced 129 // Base class for named constraints. 154 // are considered as uncategorized constraints. 156 // Subclass for constraints on a type. 168 // Subclass for constraints o [all...] |
/llvm-project/llvm/utils/ |
H A D | convert-constraint-log-to-z3.py | 53 constraints = [g.strip() for g in group.split("\n") if g.strip() != ""] 55 for c in constraints[:-1]: 63 for c in constraints[:-1]: 65 expected = constraints[-1].strip()
|
/llvm-project/mlir/lib/Dialect/IRDL/IR/ |
H A D | IRDLOps.cpp | 21 SmallVector<unsigned> constraints; in getConstraintIndicesForArgs() local 25 constraints.push_back(i); in getConstraintIndicesForArgs() 30 return constraints; in getConstraintIndicesForArgs() 101 SmallVector<unsigned> constraints = in getVerifier() local 115 constraints); in getVerifier() 119 constraints); in getVerifier()
|
/llvm-project/mlir/tools/tblgen-to-irdl/ |
H A D | OpDefinitionsGen.cpp | 49 std::vector<Value> constraints; in createConstraint() 51 constraints.push_back(createPredicate(builder, tblgen::Pred(child))); in createConstraint() 55 builder.create<irdl::AllOfOp>(UnknownLoc::get(ctx), constraints); in createConstraint() 59 builder.create<irdl::AnyOfOp>(UnknownLoc::get(ctx), constraints); in createConstraint() 203 std::vector<Value> constraints; 205 constraints.push_back( 208 auto op = builder.create<irdl::AnyOfOp>(UnknownLoc::get(ctx), constraints); 213 std::vector<Value> constraints; 215 constraints.push_back( 218 auto op = builder.create<irdl::AllOfOp>(UnknownLoc::get(ctx), constraints); 62 std::vector<Value> constraints; createConstraint() local 72 std::vector<Value> constraints; createConstraint() local [all...] |
/llvm-project/mlir/lib/Dialect/Affine/TransformOps/ |
H A D | AffineTransformOps.cpp | 40 /// Simplify affine.min / affine.max ops with the given constraints. They are 46 const FlatAffineValueConstraints &constraints, in SimplifyAffineMinMaxOp() 48 : OpRewritePattern<OpTy>(ctx, benefit), constraints(constraints) {} in SimplifyAffineMinMaxOp() 53 simplifyConstrainedMinMaxOp(op, constraints); in matchAndRewrite() 61 const FlatAffineValueConstraints &constraints; member 69 // Get constraints for bounded values. in apply()
|
/llvm-project/mlir/lib/TableGen/ |
H A D | CodeGenHelpers.cpp | 61 const ArrayRef<DagLeaf> constraints) { in emitPatternConstraints() argument 62 collectPatternConstraints(constraints); in emitPatternConstraints() 76 // Find a uniqued attribute constraint. Since not all attribute constraints can 105 /// constraints. Each of these templates require the following arguments: 126 /// Attribute constraints cannot reference anything other than `$_self` and 129 /// TODO: Unique constraints for adaptors. However, most Adaptor::verify 192 const ConstraintMap &constraints, StringRef selfName, in emitConstraints() argument 196 for (auto &it : constraints) { in emitConstraints() 276 /// Collect type constraints. in collectOpConstraints() 279 /// Collect attribute constraints in collectOpConstraints() 301 collectPatternConstraints(const llvm::ArrayRef<DagLeaf> constraints) collectPatternConstraints() argument [all...] |
/llvm-project/llvm/test/Verifier/ |
H A D | callbr.ll | 3 ; CHECK: Number of label constraints does not match number of callbr dests 16 ; CHECK-NOT: Number of label constraints does not match number of callbr dests 28 ; CHECK: Number of label constraints does not match number of callbr dests 41 ; CHECK: Label constraints can only be used with callbr 48 ; CHECK: Number of label constraints does not match number of callbr dests
|
/llvm-project/clang-tools-extra/docs/clang-tidy/checks/bugprone/ |
H A D | incorrect-enable-if.rst | 41 likelihood of this error. C++20 introduces constraints, which generally 46 :doc:`modernize-use-constraints <../modernize/use-constraints>` for another 47 tool that replaces ``std::enable_if`` with C++20 constraints. Consider these
|
/llvm-project/clang/test/Analysis/exploded-graph-rewriter/ |
H A D | constraints_diff.dot | 20 "constraints": [ 57 "constraints": [ 81 "constraints": null,
|
H A D | environment_diff.dot | 18 "constraints": null, 72 "constraints": null, 120 "constraints": null,
|
/llvm-project/mlir/docs/ |
H A D | PDLL.md | 119 Any non-structural/non-type constraints on the input are generally relegated to 120 a list of constraints specified after the rewrite dag. For very simple patterns 124 that adds additional constraints to its inputs: 152 Above, when observing the constraints we need to search through the input dag 155 patterns often grow to 10s of lines long. In PDLL, these constraints can be 159 // The same constraints that we defined above: 195 we are trying to serve and what constraints we enforce upon them. The goal of 212 frustration. In addition to the environment constraints, there is also the issue 223 have the same constraints that we have placed upon ourselves. We absolutely 253 the current file being processed. This means that any patterns, constraints, [all...] |
H A D | ShapeInference.md | 4 inference for [ShapedType][ShapedType]. Type constraints are along (at least) 8 constraints/bounds in the system for that operation (e.g., the output of a 10 valuable constraints that could be captured even without full knowledge of the 25 executed, but not the intended way to specify shape constraints in general. 35 - For example, specifying equality constraints on type/constituents of a 74 * It allows reusing the constraints between, say, Tensor and Memref 94 * **Shape error detection** Many operations will have constraints on their 95 operands. If the constraints are not satisfied or cannot be determined if 169 constraints (e.g., checking equality of two dimensions resulting in 180 upper bound constraints (say) could be represented and may be propagated by [all …]
|
/llvm-project/mlir/test/Dialect/Shape/ |
H A D | remove-shape-constraints.mlir | 1 // RUN: mlir-opt -allow-unregistered-dialect -split-input-file -remove-shape-constraints -canonical… 2 // RUN: mlir-opt -allow-unregistered-dialect -split-input-file -remove-shape-constraints <%s | File… 41 // With a non-const value, we cannot fold away the code, but all constraints
|
/llvm-project/mlir/docs/DefiningDialects/ |
H A D | Operations.md | 37 about each op, including its constraints, custom assembly form, etc. This 93 and constraints of the operation, including whether the operation has side 99 constraints over operands or results. A notable subclass hierarchy is 100 `Type`, which stands for constraints for common C++ types. 102 constraints over attributes. A notable subclass hierarchy is `Attr`, which 103 stands for constraints for attributes whose values are of common types. 106 constraints imposed on them using the `predicate` field or the 213 of `Property` (constraints can be imposed onto it using its `predicate` field 228 - provide a handle to reference for other places like constraints. 292 constraints o [all...] |
/llvm-project/mlir/include/mlir/Dialect/MLProgram/IR/ |
H A D | MLProgramOps.td | 165 It is fully expected that these constraints are not suitable for 170 without additional consideration to evaluation order constraints. See 171 `global_load_graph` for op which allows for explicit ordering constraints. 263 It is fully expected that these constraints are not suitable for all 268 without additional consideration to evaluation order constraints. 309 It is fully expected that these constraints are not suitable for 314 without additional consideration to evaluation order constraints. See 315 `global_store_graph` for op which allows for explicit ordering constraints. 351 It is fully expected that these constraints are not suitable for 356 without additional consideration to evaluation order constraints.
|
/llvm-project/mlir/test/Dialect/IRDL/ |
H A D | attributes-op.irdl.mlir | 7 …// expected-error@+1 {{'irdl.attributes' op the number of attribute names and their constraints mu… 19 …// expected-error@+1 {{'irdl.attributes' op the number of attribute names and their constraints mu…
|
/llvm-project/mlir/test/mlir-pdll/CodeGen/MLIR/ |
H A D | decl.pdll | 39 // Test range based constraints. 52 // Test single entity constraints. 83 // Test user defined constraints.
|