@@ -729,6 +729,7 @@ def CreateHandle : DXILOp<57, createHandle> {
729
729
let arguments = [Int8Ty, Int32Ty, Int32Ty, Int1Ty];
730
730
let result = HandleTy;
731
731
let stages = [Stages<DXIL1_0, [all_stages]>, Stages<DXIL1_6, [removed]>];
732
+ let attributes = [Attributes<DXIL1_0, [ReadOnly]>];
732
733
}
733
734
734
735
def BufferLoad : DXILOp<68, bufferLoad> {
@@ -740,6 +741,7 @@ def BufferLoad : DXILOp<68, bufferLoad> {
740
741
[Overloads<DXIL1_0,
741
742
[ResRetHalfTy, ResRetFloatTy, ResRetInt16Ty, ResRetInt32Ty]>];
742
743
let stages = [Stages<DXIL1_0, [all_stages]>];
744
+ let attributes = [Attributes<DXIL1_0, [ReadOnly]>];
743
745
}
744
746
745
747
def BufferStore : DXILOp<69, bufferStore> {
@@ -825,8 +827,8 @@ def Dot4AddI8Packed : DXILOp<163, dot4AddPacked> {
825
827
let LLVMIntrinsic = int_dx_dot4add_i8packed;
826
828
let arguments = [Int32Ty, Int32Ty, Int32Ty];
827
829
let result = Int32Ty;
828
- let attributes = [Attributes<DXIL1_0, [ReadNone]>];
829
830
let stages = [Stages<DXIL1_0, [all_stages]>];
831
+ let attributes = [Attributes<DXIL1_0, [ReadNone]>];
830
832
}
831
833
832
834
def Dot4AddU8Packed : DXILOp<164, dot4AddPacked> {
@@ -835,22 +837,24 @@ def Dot4AddU8Packed : DXILOp<164, dot4AddPacked> {
835
837
let LLVMIntrinsic = int_dx_dot4add_u8packed;
836
838
let arguments = [Int32Ty, Int32Ty, Int32Ty];
837
839
let result = Int32Ty;
838
- let attributes = [Attributes<DXIL1_0, [ReadNone]>];
839
840
let stages = [Stages<DXIL1_0, [all_stages]>];
841
+ let attributes = [Attributes<DXIL1_0, [ReadNone]>];
840
842
}
841
843
842
844
def AnnotateHandle : DXILOp<216, annotateHandle> {
843
845
let Doc = "annotate handle with resource properties";
844
846
let arguments = [HandleTy, ResPropsTy];
845
847
let result = HandleTy;
846
848
let stages = [Stages<DXIL1_6, [all_stages]>];
849
+ let attributes = [Attributes<DXIL1_0, [ReadNone]>];
847
850
}
848
851
849
852
def CreateHandleFromBinding : DXILOp<217, createHandleFromBinding> {
850
853
let Doc = "create resource handle from binding";
851
854
let arguments = [ResBindTy, Int32Ty, Int1Ty];
852
855
let result = HandleTy;
853
856
let stages = [Stages<DXIL1_6, [all_stages]>];
857
+ let attributes = [Attributes<DXIL1_0, [ReadNone]>];
854
858
}
855
859
856
860
def WaveIsFirstLane : DXILOp<110, waveIsFirstLane> {
@@ -859,7 +863,6 @@ def WaveIsFirstLane : DXILOp<110, waveIsFirstLane> {
859
863
let arguments = [];
860
864
let result = Int1Ty;
861
865
let stages = [Stages<DXIL1_0, [all_stages]>];
862
- let attributes = [Attributes<DXIL1_0, [ReadNone]>];
863
866
}
864
867
865
868
def WaveReadLaneAt: DXILOp<117, waveReadLaneAt> {
@@ -869,7 +872,6 @@ def WaveReadLaneAt: DXILOp<117, waveReadLaneAt> {
869
872
let result = OverloadTy;
870
873
let overloads = [Overloads<DXIL1_0, [HalfTy, FloatTy, DoubleTy, Int1Ty, Int16Ty, Int32Ty, Int64Ty]>];
871
874
let stages = [Stages<DXIL1_0, [all_stages]>];
872
- let attributes = [Attributes<DXIL1_0, [ReadNone]>];
873
875
}
874
876
875
877
def WaveGetLaneIndex : DXILOp<111, waveGetLaneIndex> {
@@ -878,7 +880,7 @@ def WaveGetLaneIndex : DXILOp<111, waveGetLaneIndex> {
878
880
let arguments = [];
879
881
let result = Int32Ty;
880
882
let stages = [Stages<DXIL1_0, [all_stages]>];
881
- let attributes = [Attributes<DXIL1_0, [ReadNone ]>];
883
+ let attributes = [Attributes<DXIL1_0, [ReadOnly ]>];
882
884
}
883
885
884
886
def WaveAllBitCount : DXILOp<135, waveAllOp> {
@@ -887,5 +889,4 @@ def WaveAllBitCount : DXILOp<135, waveAllOp> {
887
889
let arguments = [Int1Ty];
888
890
let result = Int32Ty;
889
891
let stages = [Stages<DXIL1_0, [all_stages]>];
890
- let attributes = [Attributes<DXIL1_0, [ReadNone]>];
891
892
}
0 commit comments