Lines Matching refs:constraints
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,
261 This includes any defined operations, constraints, interfaces, and more, making
491 Any number of single entity constraints may be attached directly to a variable
492 upon declaration. Within the `matcher` section, these constraints may add
493 additional checks on the input IR. Within the `rewriter` section, constraints
495 builtin constraints that correlate to the core MLIR constructs: `Attr`, `Op`,
497 custom constraints that are implemented within PDLL, or natively (i.e. outside
498 of PDLL). See the general [Constraints](#constraints) section for more detailed
532 attach constraints to a variable but have no other use for it. In these
567 constraints of the operation. In the `rewrite` section, the name is required.
863 [constraint](#constraints-with-multiple-results) or
872 `MyConstraint(...)`). There are three main categories of constraints:
876 PDLL defines a number of core constraints that constrain the type of the IR
877 entity. These constraints can only be applied via the
878 [constraint list](#variable-constraints) of a variable.
969 Aside from the core constraints, additional constraints can also be defined
1020 constraint signature, PDLL defined constraints also support inferring the result
1022 constraint is defined with no result constraints:
1091 // Otherwise, constraints can be applied via the call operator:
1099 External constraints are those registered explicitly with the `RewritePatternSet` via
1100 the C++ PDL API. For example, the constraints above may be registered as:
1122 In addition to importing native constraints, PDLL also supports defining native
1123 constraints directly when compiling ahead-of-time (AOT) for C++. These
1124 constraints can be defined by specifying a string code block after the
1140 // Otherwise, constraints can be applied via the call operator:
1155 Taking the constraints defined above as an example, these function would roughly be
1168 TODO: Native constraints should also be allowed to return values in certain cases.
1173 MLIR type of the [constraint](#constraints) used. Below is a detailed description
1175 constraints.
1179 These are all core constraints, and are mapped directly to the MLIR equivalent
1217 Aside from the core constraints, certain constraints imported from ODS may use a unique
1221 * `Attr` constraints
1222 - Imported `Attr` constraints utilize the `storageType` field for native type translation.
1224 * `Type` constraints
1225 - Imported `Type` constraints utilize the `cppClassName` field for native type translation.
1227 * `AttrInterface`/`OpInterface`/`TypeInterface` constraints
1257 When defined inline, PDLL constraints may reference any previously defined
1399 defined with no result constraints:
1518 MLIR type of the [constraint](#constraints) used. The rules of native `Rewrite` type translation