• Home
  • Raw
  • Download

Lines Matching refs:trait

25     -   The concrete class type that this trait was attached to.
27 - The type of the trait class that is being defined, for use with the
30 A derived trait class is expected to take a single template that corresponds to
31 the `ConcreteType`. An example trait definition is shown below:
40 verifying the concrete operation. The trait verifiers will currently always be
60 folding the concrete operation. The trait folders will only be invoked if
71 /// Override the 'foldTrait' hook to support trait based folding on the
87 /// Override the 'foldTrait' hook to support trait based folding on the
102 The above demonstrates the definition of a simple self-contained trait. It is
103 also often useful to provide some static parameters to the trait to control its
104 behavior. Given that the definition of the trait class is rigid, i.e. we must
123 name of the trait class to the end of the base object class operation type:
126 /// Here we define 'MyAttr' along with the 'MyTrait' and `MyParametric trait
129 /// Here we define 'MyOp' along with the 'MyTrait' and `MyParametric trait
132 /// Here we define 'MyType' along with the 'MyTrait' and `MyParametric trait
139 To use an operation trait in the [ODS](OpDefinitions.md) framework, we need to
140 provide a definition of the trait class. This can be done using the
142 a mechanism in which to specify arguments to a parametric trait class with an
146 // The argument is the c++ trait class name.
172 To query if a specific object contains a specific trait, the `hasTrait<>` method
173 may be used. This takes as a template parameter the trait class, which is the
174 same as the one passed when attaching the trait to an operation.
186 may be used directly by any dialect. The format of the header for each trait
196 This trait is carried by region holding operations that define a new scope for
204 with this trait includes all operations in its region excluding operations that
205 are nested inside of other operations that themselves have this trait.
211 This trait is carried by region holding operations that define a new scope for
216 that has the trait AutomaticAllocationScope.
222 This trait adds the property that the operation is known to have
233 This trait requires that the operands are either vector or tensor types.
239 This trait adds the property that the operation is commutative, i.e. `X op Y ==
246 This trait tags scalar ops that also can be applied to vectors/tensors, with
247 their semantics on vectors/tensors being elementwise application. This trait
253 trait. In particular, broadcasting behavior is not allowed. See the comments on
260 This trait provides APIs for operations that behave like functions. In
263 - Ops must be symbols, i.e. also have the `Symbol` trait;
272 This trait provides limited type support for the declared or defined functions.
274 that can be used to store the function type. In addition, this trait provides
278 In general, this trait assumes concrete ops use `FunctionType` under the hood.
289 This trait provides APIs and verifiers for operations that can only be nested
296 This trait signals that the regions of an operations are known to be isolated
297 from above. This trait asserts that the regions of an operation will not
309 This trait is an important structural property of the IR, and enables operations
316 This trait is used to flag operations that consume or produce
331 This trait provides APIs and verifiers for operations with regions that have a
338 This trait is used for operations that define a
345 This trait provides verification and functionality for operations that are known