diff --git a/llvm/lib/Target/DirectX/DXIL.td b/llvm/lib/Target/DirectX/DXIL.td index ebe1d876d58b1..1d8904bdf5514 100644 --- a/llvm/lib/Target/DirectX/DXIL.td +++ b/llvm/lib/Target/DirectX/DXIL.td @@ -288,17 +288,6 @@ def ReadOnly : DXILAttribute; def NoDuplicate : DXILAttribute; def NoReturn : DXILAttribute; -// A property is simply used to mark that a DXIL op belongs to a sub-group of -// DXIL ops, and it is used to query if a particular op holds this property. -// This is used for the static analysis of DXIL ops. -class DXILProperty; - -def IsBarrier : DXILProperty; -def IsGradient : DXILProperty; -def IsFeedback : DXILProperty; -def IsWave : DXILProperty; -def RequiresUniformInputs : DXILProperty; - class Overloads ols> { Version dxil_version = ver; list overload_types = ols; @@ -406,9 +395,6 @@ class DXILOp { // Versioned attributes of operation list attributes = []; - - // List of properties. Default to no properties. - list properties = []; } // Concrete definitions of DXIL Operations @@ -898,7 +884,6 @@ def Barrier : DXILOp<80, barrier> { let result = VoidTy; let stages = [Stages]; let attributes = [Attributes]; - let properties = [IsBarrier]; } def Discard : DXILOp<82, discard> { @@ -974,7 +959,6 @@ def WaveIsFirstLane : DXILOp<110, waveIsFirstLane> { let arguments = []; let result = Int1Ty; let stages = [Stages]; - let properties = [IsWave]; } def WaveGetLaneIndex : DXILOp<111, waveGetLaneIndex> { @@ -984,7 +968,6 @@ def WaveGetLaneIndex : DXILOp<111, waveGetLaneIndex> { let result = Int32Ty; let stages = [Stages]; let attributes = [Attributes]; - let properties = [IsWave]; } def WaveActiveAnyTrue : DXILOp<113, waveAnyTrue> { @@ -994,7 +977,6 @@ def WaveActiveAnyTrue : DXILOp<113, waveAnyTrue> { let arguments = [Int1Ty]; let result = Int1Ty; let stages = [Stages]; - let properties = [IsWave]; } def WaveActiveAllTrue : DXILOp<114, waveAllTrue> { @@ -1004,7 +986,6 @@ def WaveActiveAllTrue : DXILOp<114, waveAllTrue> { let arguments = [Int1Ty]; let result = Int1Ty; let stages = [Stages]; - let properties = [IsWave]; } def WaveReadLaneAt : DXILOp<117, waveReadLaneAt> { @@ -1015,7 +996,6 @@ def WaveReadLaneAt : DXILOp<117, waveReadLaneAt> { let overloads = [Overloads< DXIL1_0, [HalfTy, FloatTy, DoubleTy, Int1Ty, Int16Ty, Int32Ty, Int64Ty]>]; let stages = [Stages]; - let properties = [IsWave]; } def WaveActiveOp : DXILOp<119, waveActiveOp> { @@ -1058,7 +1038,6 @@ def WaveAllBitCount : DXILOp<135, waveAllOp> { let arguments = [Int1Ty]; let result = Int32Ty; let stages = [Stages]; - let properties = [IsWave]; } def RawBufferLoad : DXILOp<139, rawBufferLoad> { diff --git a/llvm/lib/Target/DirectX/DXILConstants.h b/llvm/lib/Target/DirectX/DXILConstants.h index 3ba74e7570fd7..b9f84741e23f1 100644 --- a/llvm/lib/Target/DirectX/DXILConstants.h +++ b/llvm/lib/Target/DirectX/DXILConstants.h @@ -47,11 +47,6 @@ inline Attributes &operator|=(Attributes &a, Attributes &b) { return a; } -struct Properties { -#define DXIL_PROPERTY(Name) bool Name = false; -#include "DXILOperation.inc" -}; - } // namespace dxil } // namespace llvm diff --git a/llvm/utils/TableGen/DXILEmitter.cpp b/llvm/utils/TableGen/DXILEmitter.cpp index 525ad4c4c8529..0b553c3a3d456 100644 --- a/llvm/utils/TableGen/DXILEmitter.cpp +++ b/llvm/utils/TableGen/DXILEmitter.cpp @@ -56,7 +56,6 @@ struct DXILOperationDesc { SmallVector OverloadRecs; SmallVector StageRecs; SmallVector AttrRecs; - SmallVector PropRecs; SmallVector IntrinsicSelects; SmallVector ShaderStages; // shader stages to which this applies, empty for all. @@ -178,12 +177,6 @@ DXILOperationDesc::DXILOperationDesc(const Record *R) { AttrRecs.push_back(CR); } - Recs = R->getValueAsListOfDefs("properties"); - - // Get property records - for (const Record *CR : Recs) - PropRecs.push_back(CR); - // Get the operation class OpClass = R->getValueAsDef("OpClass")->getName(); @@ -427,15 +420,6 @@ static void emitDXILOpAttributes(const RecordKeeper &Records, OS << "#endif\n\n"; } -/// Emit a list of DXIL op properties -static void emitDXILProperties(const RecordKeeper &Records, raw_ostream &OS) { - OS << "#ifdef DXIL_PROPERTY\n"; - for (const Record *Prop : Records.getAllDerivedDefinitions("DXILProperty")) - OS << "DXIL_PROPERTY(" << Prop->getName() << ")\n"; - OS << "#undef DXIL_PROPERTY\n"; - OS << "#endif\n\n"; -} - /// Emit a list of DXIL op function types static void emitDXILOpFunctionTypes(ArrayRef Ops, raw_ostream &OS) { @@ -639,7 +623,6 @@ static void emitDxilOperation(const RecordKeeper &Records, raw_ostream &OS) { emitDXILOpParamTypes(Records, OS); emitDXILAttributes(Records, OS); emitDXILOpAttributes(Records, DXILOps, OS); - emitDXILProperties(Records, OS); emitDXILOpFunctionTypes(DXILOps, OS); emitDXILIntrinsicArgSelectTypes(Records, OS); emitDXILIntrinsicMap(DXILOps, OS);