@@ -248,17 +248,6 @@ class Pred;
248248// Following classes represent predicate that evaluate to the payload,
249249// if one xists, unconditionally.
250250
251- // DXIL Op attributes defined as true predicates, if specified
252-
253- def ReadOnly : Pred;
254- def ReadNone : Pred;
255- def IsDerivative : Pred;
256- def IsGradient : Pred;
257- def IsFeedback : Pred;
258- def IsWave : Pred;
259- def NeedsUniformInputs : Pred;
260- def IsBarrier : Pred;
261-
262251// Predicate that evaluates to specified shader model version unconditionally.
263252class SMVersion<Version ver> : Pred {
264253 Version sm_version = ver;
@@ -282,6 +271,20 @@ class Constraints<Pred p, list<Pred> l = []> : Pred {
282271 list<Pred> constraints = l;
283272}
284273
274+ // DXIL Op attributes defined as true predicates, if specified
275+
276+ class DXILAttribute;
277+
278+ def ReadOnly : DXILAttribute;
279+ def ReadNone : DXILAttribute;
280+ def IsDerivative : DXILAttribute;
281+ def IsGradient : DXILAttribute;
282+ def IsFeedback : DXILAttribute;
283+ def IsWave : DXILAttribute;
284+ def NeedsUniformInputs : DXILAttribute;
285+ def IsBarrier : DXILAttribute;
286+
287+
285288// Marker used to identify attribute list.
286289def attrs;
287290
@@ -317,7 +320,7 @@ class DXILOp {
317320 list<Constraints> constraints = [];
318321
319322 // Operation attributes
320- list<Pred > attributes = [];
323+ list<DXILAttribute > attributes = [];
321324
322325 Version DXILVersion = ? ;
323326}
0 commit comments