Lines Matching full:operation

34    1. Name of operation (``dxil_op``)
35 2. A string that documents the operation (``doc``) - This is not strictly necessary but is included
36 for readability and documentation of the operation.
37 3. The generic or HLSL-specific intrinsic that maps to the operation (``llvm_name``).
39 5. Operation Class signifying the name and function signature of the operation (``dxil_class``).
43 6. List of valid overload types for the operation (``oload_types``).
44 7. Required DXIL Version with support for the operation.
48 11. Memory access attributes of the operation (``fn_attr``).
49 12. Boolean attributes of operation to indicate if it
56 * is a barrier operation (``is_barrier``).
62 pass will need information such as the DXIL operation an LLVM intrinsic is to be lowered to,
76 DXIL Operation Specification
79 The DXIL Operation is represented using the TableGen class ``DXILOp``. The DXIL operation
82 1. Each DXIL Operation is represented as a TableGen record. The name of each of the records
83 signifies operation name.
84 2. A documentation string for the operation.
85 3. The LLVM Intrinsic that maps to the operation is represented as ``Intrinsic`` defined in
87 4. The unique operation id is represented by an integer.
88 5. DXIL Operation Class is represented as follows
92 // Abstraction of DXIL Operation class.
95 Concrete operation records, such as ``unary`` are defined by inheriting from ``DXILOpClass``.
101 7. Operation return type is represented as a ``DXILOpParamType``, and arguments
102 are represented as a list of the same. An operation with no return value
104 8. Valid operation overload types predicated on DXIL version are specified as
110 10. Various attributes of the DXIL Operation are represented as a ``list`` of
121 Specification of DXIL Operation
124 A DXIL Operation is represented by the following TableGen class that encapsulates the various
129 // Abstraction DXIL Operation
131 // A short description of the operation
134 // Opcode of DXIL Operation
137 // Class of DXIL Operation.
140 // LLVM Intrinsic DXIL Operation maps to
162 DXIL version is used to specify various version-dependent operation properties in
205 Various operation memory access and boolean attributes such as ``ReadNone``,
220 DXIL Operation properties such as valid overload types, shader stages and
227 ``overloads`` field of ``class DXILOp`` is used to represent valid operation
247 An empty list signifies that the operation supports no overload types.
253 ``stages`` field of ``class DXILOp`` is used to represent valid operation
278 1. ``all_stages`` signifies that the operation is valid for all stages in the
280 2. ``removed`` signifies removal of support for the operation in the specified
283 A non-empty list of supported stages is required to be specified. If an operation
294 ``attributes`` field of ``class DXILOp`` is used to represent valid operation
310 A null list of ``attributes`` signifies no operation attributes.
337 DXIL Operation Specification Examples
342 ``Sin`` operation - an operation valid in all DXIL versions and all stages
357 ``FlattenedThreadIdInGroup`` - an operation with no arguments, no
371 ``RawBufferStore`` - an operation with ``void`` return type, valid overload types
390 ``DerivCoarseX`` - an operation with no overload types and stages predicated
407 ``CreateHandle`` - an operation with no overload types, no associated ``LLVMIntrinsic``
423 ``Sample`` - an operation with valid overload types, stages and attributes