Skip to content

Commit ebe5c66

Browse files
authored
[DXIL] Remove definition and any uses of DXIL Property (#130796)
- Remove definitions from DXIL.td and any emissions/definitions that were previously planned to be used See resolved issue for motivations of deletion Resolves #126298
1 parent 49f0607 commit ebe5c66

File tree

3 files changed

+0
-43
lines changed

3 files changed

+0
-43
lines changed

llvm/lib/Target/DirectX/DXIL.td

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -288,17 +288,6 @@ def ReadOnly : DXILAttribute;
288288
def NoDuplicate : DXILAttribute;
289289
def NoReturn : DXILAttribute;
290290

291-
// A property is simply used to mark that a DXIL op belongs to a sub-group of
292-
// DXIL ops, and it is used to query if a particular op holds this property.
293-
// This is used for the static analysis of DXIL ops.
294-
class DXILProperty;
295-
296-
def IsBarrier : DXILProperty;
297-
def IsGradient : DXILProperty;
298-
def IsFeedback : DXILProperty;
299-
def IsWave : DXILProperty;
300-
def RequiresUniformInputs : DXILProperty;
301-
302291
class Overloads<Version ver, list<DXILOpParamType> ols> {
303292
Version dxil_version = ver;
304293
list<DXILOpParamType> overload_types = ols;
@@ -406,9 +395,6 @@ class DXILOp<int opcode, DXILOpClass opclass> {
406395

407396
// Versioned attributes of operation
408397
list<Attributes> attributes = [];
409-
410-
// List of properties. Default to no properties.
411-
list<DXILProperty> properties = [];
412398
}
413399

414400
// Concrete definitions of DXIL Operations
@@ -898,7 +884,6 @@ def Barrier : DXILOp<80, barrier> {
898884
let result = VoidTy;
899885
let stages = [Stages<DXIL1_0, [compute, library]>];
900886
let attributes = [Attributes<DXIL1_0, []>];
901-
let properties = [IsBarrier];
902887
}
903888

904889
def Discard : DXILOp<82, discard> {
@@ -974,7 +959,6 @@ def WaveIsFirstLane : DXILOp<110, waveIsFirstLane> {
974959
let arguments = [];
975960
let result = Int1Ty;
976961
let stages = [Stages<DXIL1_0, [all_stages]>];
977-
let properties = [IsWave];
978962
}
979963

980964
def WaveGetLaneIndex : DXILOp<111, waveGetLaneIndex> {
@@ -984,7 +968,6 @@ def WaveGetLaneIndex : DXILOp<111, waveGetLaneIndex> {
984968
let result = Int32Ty;
985969
let stages = [Stages<DXIL1_0, [all_stages]>];
986970
let attributes = [Attributes<DXIL1_0, [ReadOnly]>];
987-
let properties = [IsWave];
988971
}
989972

990973
def WaveActiveAnyTrue : DXILOp<113, waveAnyTrue> {
@@ -994,7 +977,6 @@ def WaveActiveAnyTrue : DXILOp<113, waveAnyTrue> {
994977
let arguments = [Int1Ty];
995978
let result = Int1Ty;
996979
let stages = [Stages<DXIL1_0, [all_stages]>];
997-
let properties = [IsWave];
998980
}
999981

1000982
def WaveActiveAllTrue : DXILOp<114, waveAllTrue> {
@@ -1004,7 +986,6 @@ def WaveActiveAllTrue : DXILOp<114, waveAllTrue> {
1004986
let arguments = [Int1Ty];
1005987
let result = Int1Ty;
1006988
let stages = [Stages<DXIL1_0, [all_stages]>];
1007-
let properties = [IsWave];
1008989
}
1009990

1010991
def WaveReadLaneAt : DXILOp<117, waveReadLaneAt> {
@@ -1015,7 +996,6 @@ def WaveReadLaneAt : DXILOp<117, waveReadLaneAt> {
1015996
let overloads = [Overloads<
1016997
DXIL1_0, [HalfTy, FloatTy, DoubleTy, Int1Ty, Int16Ty, Int32Ty, Int64Ty]>];
1017998
let stages = [Stages<DXIL1_0, [all_stages]>];
1018-
let properties = [IsWave];
1019999
}
10201000

10211001
def WaveActiveOp : DXILOp<119, waveActiveOp> {
@@ -1058,7 +1038,6 @@ def WaveAllBitCount : DXILOp<135, waveAllOp> {
10581038
let arguments = [Int1Ty];
10591039
let result = Int32Ty;
10601040
let stages = [Stages<DXIL1_0, [all_stages]>];
1061-
let properties = [IsWave];
10621041
}
10631042

10641043
def RawBufferLoad : DXILOp<139, rawBufferLoad> {

llvm/lib/Target/DirectX/DXILConstants.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,6 @@ inline Attributes &operator|=(Attributes &a, Attributes &b) {
4747
return a;
4848
}
4949

50-
struct Properties {
51-
#define DXIL_PROPERTY(Name) bool Name = false;
52-
#include "DXILOperation.inc"
53-
};
54-
5550
} // namespace dxil
5651
} // namespace llvm
5752

llvm/utils/TableGen/DXILEmitter.cpp

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ struct DXILOperationDesc {
5656
SmallVector<const Record *> OverloadRecs;
5757
SmallVector<const Record *> StageRecs;
5858
SmallVector<const Record *> AttrRecs;
59-
SmallVector<const Record *> PropRecs;
6059
SmallVector<DXILIntrinsicSelect> IntrinsicSelects;
6160
SmallVector<StringRef, 4>
6261
ShaderStages; // shader stages to which this applies, empty for all.
@@ -178,12 +177,6 @@ DXILOperationDesc::DXILOperationDesc(const Record *R) {
178177
AttrRecs.push_back(CR);
179178
}
180179

181-
Recs = R->getValueAsListOfDefs("properties");
182-
183-
// Get property records
184-
for (const Record *CR : Recs)
185-
PropRecs.push_back(CR);
186-
187180
// Get the operation class
188181
OpClass = R->getValueAsDef("OpClass")->getName();
189182

@@ -427,15 +420,6 @@ static void emitDXILOpAttributes(const RecordKeeper &Records,
427420
OS << "#endif\n\n";
428421
}
429422

430-
/// Emit a list of DXIL op properties
431-
static void emitDXILProperties(const RecordKeeper &Records, raw_ostream &OS) {
432-
OS << "#ifdef DXIL_PROPERTY\n";
433-
for (const Record *Prop : Records.getAllDerivedDefinitions("DXILProperty"))
434-
OS << "DXIL_PROPERTY(" << Prop->getName() << ")\n";
435-
OS << "#undef DXIL_PROPERTY\n";
436-
OS << "#endif\n\n";
437-
}
438-
439423
/// Emit a list of DXIL op function types
440424
static void emitDXILOpFunctionTypes(ArrayRef<DXILOperationDesc> Ops,
441425
raw_ostream &OS) {
@@ -639,7 +623,6 @@ static void emitDxilOperation(const RecordKeeper &Records, raw_ostream &OS) {
639623
emitDXILOpParamTypes(Records, OS);
640624
emitDXILAttributes(Records, OS);
641625
emitDXILOpAttributes(Records, DXILOps, OS);
642-
emitDXILProperties(Records, OS);
643626
emitDXILOpFunctionTypes(DXILOps, OS);
644627
emitDXILIntrinsicArgSelectTypes(Records, OS);
645628
emitDXILIntrinsicMap(DXILOps, OS);

0 commit comments

Comments
 (0)