[llvm] [DXIL][Doc] Update specification of to use TableGen list instead of dag (PR #99055)
Justin Bogner via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 22 11:37:47 PDT 2024
================
@@ -93,76 +93,81 @@ attributes are specified as fields of the ``DXILOp`` class as described below.
class DXILOpClass;
Concrete operation records, such as ``unary`` are defined by inheriting from ``DXILOpClass``.
-6. Return and argument types of the operation are represented as ``dag``s using the
- special markers ``out`` and ``ins``. An overload type, if supported by the operation, is
- denoted as the positional type ``dxil_overload_ty`` in the argument or in the result, where
- ``dxil_overload_ty`` is defined to be synonymous to ``llvm_any_ty``.
+6. Return type of the operation is represented as ``LLVMType``.
+7. Operation arguments are represented as a list of ``LLVMType`` with each type
+ corresponding to the argument position. An overload type, if supported by the operation, is
+ denoted as the positional type ``overloadTy`` in the argument or in the result, where
+ ``overloadTy`` is defined to be synonymous to ``llvm_any_ty``.
.. code-block::
- defvar dxil_overload_ty = llvm_any_ty
+ defvar overloadTy = llvm_any_ty
+ Empty list, ``[]`` represents an operation with no arguments.
-7. Valid overload types and shader stages predicated on Shader Model version are specified
- as a list of ``Constraint`` records. Representation of ``Constraints`` class is described
- a later section.
-8. Various attributes of the DXIL Operation that are not predicated on Shader Model version
- are represented as a ``dag`` using the special marker ``attrs``. Representation of ``Attributes``
+8. Valid operation overload types predicated on DXIL version are specified as
+ a list of ``VersionedOverloads`` records. Representation of ``VersionedOverloads``
class is described in a later section.
+9. Valid shader stages predicated on DXIL version are specified as a list of
+ ``VersionedStages`` records. Representation of ``VersionedStages`` class is
+ described in a later section.
+10. Various attributes of the DXIL Operation are represented as a ``list`` of
+ ``VersionedAttributes`` class records. Representation of ``VersionedAttributes``
+ class is described in a later section.
----------------
bogner wrote:
`VersionedOverloads`, `VersionedStages`, and `VersionedAttributes` are all a little wordy. It might be obvious enough given that we only have the versioned ones to drop "Versioned" from each of these.
https://github.com/llvm/llvm-project/pull/99055
More information about the llvm-commits
mailing list