@@ -93,18 +93,14 @@ properties are specified as fields of the ``DXILOp`` class as described below.
9393 class DXILOpClass;
9494
9595 Concrete operation records, such as ``unary `` are defined by inheriting from ``DXILOpClass ``.
96- 6. Return type of the operation is represented as ``LLVMType ``.
97- 7. Operation arguments are represented as a list of ``LLVMType `` with each type
98- corresponding to the argument position. An overload type, if supported by the operation, is
99- denoted as the positional type ``overloadTy `` in the argument or in the result, where
100- ``overloadTy `` is defined to be synonymous to ``llvm_any_ty ``.
101-
102- .. code-block ::
103-
104- defvar overloadTy = llvm_any_ty
105-
106- Empty list, ``[] `` represents an operation with no arguments.
107-
96+ 6. A set of type names are defined that represent return and argument types,
97+ which all inherit from ``DXILOpParamType ``. These represent simple types
98+ like ``int32Ty ``, DXIL types like ``dx.types.Handle ``, and a special
99+ ``overloadTy `` which can be any type allowed by ``Overloads ``, described
100+ below.
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
103+ shall specify ``VoidTy `` as its return.
1081048. Valid operation overload types predicated on DXIL version are specified as
109105 a list of ``Overloads `` records. Representation of ``Overloads ``
110106 class is described in a later section.
@@ -145,10 +141,10 @@ TableGen representations of its properties described above.
145141 Intrinsic LLVMIntrinsic = ?;
146142
147143 // Result type of the op.
148- LLVMType result;
144+ DXILOpParamType result;
149145
150146 // List of argument types of the op. Default to 0 arguments.
151- list<LLVMType > arguments = [];
147+ list<DXILOpParamType > arguments = [];
152148
153149 // List of valid overload types predicated by DXIL version
154150 list<Overloads> overloads;
@@ -233,9 +229,9 @@ overloads predicated on DXIL version as list of records of the following class
233229
234230.. code-block ::
235231
236- class Overloads<Version minver, list<LLVMType > ols> {
232+ class Overloads<Version minver, list<DXILOpParamType > ols> {
237233 Version dxil_version = minver;
238- list<LLVMType > overload_types = ols;
234+ list<DXILOpParamType > overload_types = ols;
239235 }
240236
241237 Following is an example specification of valid overload types for ``DXIL1_0 `` and
0 commit comments