@@ -288,17 +288,6 @@ def ReadOnly : DXILAttribute;
288
288
def NoDuplicate : DXILAttribute;
289
289
def NoReturn : DXILAttribute;
290
290
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
-
302
291
class Overloads<Version ver, list<DXILOpParamType> ols> {
303
292
Version dxil_version = ver;
304
293
list<DXILOpParamType> overload_types = ols;
@@ -406,9 +395,6 @@ class DXILOp<int opcode, DXILOpClass opclass> {
406
395
407
396
// Versioned attributes of operation
408
397
list<Attributes> attributes = [];
409
-
410
- // List of properties. Default to no properties.
411
- list<DXILProperty> properties = [];
412
398
}
413
399
414
400
// Concrete definitions of DXIL Operations
@@ -898,7 +884,6 @@ def Barrier : DXILOp<80, barrier> {
898
884
let result = VoidTy;
899
885
let stages = [Stages<DXIL1_0, [compute, library]>];
900
886
let attributes = [Attributes<DXIL1_0, []>];
901
- let properties = [IsBarrier];
902
887
}
903
888
904
889
def Discard : DXILOp<82, discard> {
@@ -974,7 +959,6 @@ def WaveIsFirstLane : DXILOp<110, waveIsFirstLane> {
974
959
let arguments = [];
975
960
let result = Int1Ty;
976
961
let stages = [Stages<DXIL1_0, [all_stages]>];
977
- let properties = [IsWave];
978
962
}
979
963
980
964
def WaveGetLaneIndex : DXILOp<111, waveGetLaneIndex> {
@@ -984,7 +968,6 @@ def WaveGetLaneIndex : DXILOp<111, waveGetLaneIndex> {
984
968
let result = Int32Ty;
985
969
let stages = [Stages<DXIL1_0, [all_stages]>];
986
970
let attributes = [Attributes<DXIL1_0, [ReadOnly]>];
987
- let properties = [IsWave];
988
971
}
989
972
990
973
def WaveActiveAnyTrue : DXILOp<113, waveAnyTrue> {
@@ -994,7 +977,6 @@ def WaveActiveAnyTrue : DXILOp<113, waveAnyTrue> {
994
977
let arguments = [Int1Ty];
995
978
let result = Int1Ty;
996
979
let stages = [Stages<DXIL1_0, [all_stages]>];
997
- let properties = [IsWave];
998
980
}
999
981
1000
982
def WaveActiveAllTrue : DXILOp<114, waveAllTrue> {
@@ -1004,7 +986,6 @@ def WaveActiveAllTrue : DXILOp<114, waveAllTrue> {
1004
986
let arguments = [Int1Ty];
1005
987
let result = Int1Ty;
1006
988
let stages = [Stages<DXIL1_0, [all_stages]>];
1007
- let properties = [IsWave];
1008
989
}
1009
990
1010
991
def WaveReadLaneAt : DXILOp<117, waveReadLaneAt> {
@@ -1015,7 +996,6 @@ def WaveReadLaneAt : DXILOp<117, waveReadLaneAt> {
1015
996
let overloads = [Overloads<
1016
997
DXIL1_0, [HalfTy, FloatTy, DoubleTy, Int1Ty, Int16Ty, Int32Ty, Int64Ty]>];
1017
998
let stages = [Stages<DXIL1_0, [all_stages]>];
1018
- let properties = [IsWave];
1019
999
}
1020
1000
1021
1001
def WaveActiveOp : DXILOp<119, waveActiveOp> {
@@ -1058,7 +1038,6 @@ def WaveAllBitCount : DXILOp<135, waveAllOp> {
1058
1038
let arguments = [Int1Ty];
1059
1039
let result = Int32Ty;
1060
1040
let stages = [Stages<DXIL1_0, [all_stages]>];
1061
- let properties = [IsWave];
1062
1041
}
1063
1042
1064
1043
def RawBufferLoad : DXILOp<139, rawBufferLoad> {
0 commit comments