diff --git a/llvm/lib/Target/DirectX/DXIL.td b/llvm/lib/Target/DirectX/DXIL.td index fce945284c2f72..2a160e93236848 100644 --- a/llvm/lib/Target/DirectX/DXIL.td +++ b/llvm/lib/Target/DirectX/DXIL.td @@ -248,17 +248,6 @@ class Pred; // Following classes represent predicate that evaluate to the payload, // if one xists, unconditionally. -// DXIL Op attributes defined as true predicates, if specified - -def ReadOnly : Pred; -def ReadNone : Pred; -def IsDerivative : Pred; -def IsGradient : Pred; -def IsFeedback : Pred; -def IsWave : Pred; -def NeedsUniformInputs : Pred; -def IsBarrier : Pred; - // Predicate that evaluates to specified shader model version unconditionally. class SMVersion : Pred { Version sm_version = ver; @@ -282,6 +271,20 @@ class Constraints l = []> : Pred { list constraints = l; } +// DXIL Op attributes defined as true predicates, if specified + +class DXILAttribute; + +def ReadOnly : DXILAttribute; +def ReadNone : DXILAttribute; +def IsDerivative : DXILAttribute; +def IsGradient : DXILAttribute; +def IsFeedback : DXILAttribute; +def IsWave : DXILAttribute; +def NeedsUniformInputs : DXILAttribute; +def IsBarrier : DXILAttribute; + + // Marker used to identify attribute list. def attrs; @@ -317,7 +320,7 @@ class DXILOp { list constraints = []; // Operation attributes - list attributes = []; + list attributes = []; Version DXILVersion = ? ; }