diff --git a/llvm/lib/Target/AMDGPU/BUFInstructions.td b/llvm/lib/Target/AMDGPU/BUFInstructions.td --- a/llvm/lib/Target/AMDGPU/BUFInstructions.td +++ b/llvm/lib/Target/AMDGPU/BUFInstructions.td @@ -117,6 +117,7 @@ let Constraints = ps.Constraints; let DisableEncoding = ps.DisableEncoding; let TSFlags = ps.TSFlags; + let SchedRW = ps.SchedRW; bits<12> offset; bits<5> cpol; @@ -347,6 +348,7 @@ let DisableEncoding = ps.DisableEncoding; let TSFlags = ps.TSFlags; let UseNamedOperandTable = ps.UseNamedOperandTable; + let SchedRW = ps.SchedRW; bits<12> offset; bits<5> cpol; diff --git a/llvm/lib/Target/AMDGPU/DSInstructions.td b/llvm/lib/Target/AMDGPU/DSInstructions.td --- a/llvm/lib/Target/AMDGPU/DSInstructions.td +++ b/llvm/lib/Target/AMDGPU/DSInstructions.td @@ -63,8 +63,9 @@ // copy relevant pseudo op flags let SubtargetPredicate = ds.SubtargetPredicate; - let OtherPredicates = ds.OtherPredicates; + let OtherPredicates = ds.OtherPredicates; let AsmMatchConverter = ds.AsmMatchConverter; + let SchedRW = ds.SchedRW; // encoding fields bits<10> vdst; diff --git a/llvm/lib/Target/AMDGPU/FLATInstructions.td b/llvm/lib/Target/AMDGPU/FLATInstructions.td --- a/llvm/lib/Target/AMDGPU/FLATInstructions.td +++ b/llvm/lib/Target/AMDGPU/FLATInstructions.td @@ -82,11 +82,12 @@ let isCodeGenOnly = 0; // copy relevant pseudo op flags - let SubtargetPredicate = ps.SubtargetPredicate; - let AsmMatchConverter = ps.AsmMatchConverter; - let OtherPredicates = ps.OtherPredicates; - let TSFlags = ps.TSFlags; + let SubtargetPredicate = ps.SubtargetPredicate; + let AsmMatchConverter = ps.AsmMatchConverter; + let OtherPredicates = ps.OtherPredicates; + let TSFlags = ps.TSFlags; let UseNamedOperandTable = ps.UseNamedOperandTable; + let SchedRW = ps.SchedRW; // encoding fields bits<8> vaddr; diff --git a/llvm/lib/Target/AMDGPU/SMInstructions.td b/llvm/lib/Target/AMDGPU/SMInstructions.td --- a/llvm/lib/Target/AMDGPU/SMInstructions.td +++ b/llvm/lib/Target/AMDGPU/SMInstructions.td @@ -57,10 +57,11 @@ Instruction Opcode = !cast(NAME); // copy relevant pseudo op flags - let SubtargetPredicate = ps.SubtargetPredicate; - let AsmMatchConverter = ps.AsmMatchConverter; + let SubtargetPredicate = ps.SubtargetPredicate; + let AsmMatchConverter = ps.AsmMatchConverter; let UseNamedOperandTable = ps.UseNamedOperandTable; - let SMRD = ps.SMRD; + let SMRD = ps.SMRD; + let SchedRW = ps.SchedRW; let TSFlags = ps.TSFlags; diff --git a/llvm/lib/Target/AMDGPU/SOPInstructions.td b/llvm/lib/Target/AMDGPU/SOPInstructions.td --- a/llvm/lib/Target/AMDGPU/SOPInstructions.td +++ b/llvm/lib/Target/AMDGPU/SOPInstructions.td @@ -66,6 +66,7 @@ // copy relevant pseudo op flags let SubtargetPredicate = ps.SubtargetPredicate; let AsmMatchConverter = ps.AsmMatchConverter; + let SchedRW = ps.SchedRW; // encoding bits<7> sdst; @@ -369,10 +370,11 @@ let isCodeGenOnly = 0; // copy relevant pseudo op flags - let SubtargetPredicate = ps.SubtargetPredicate; - let AsmMatchConverter = ps.AsmMatchConverter; + let SubtargetPredicate = ps.SubtargetPredicate; + let AsmMatchConverter = ps.AsmMatchConverter; let UseNamedOperandTable = ps.UseNamedOperandTable; - let TSFlags = ps.TSFlags; + let TSFlags = ps.TSFlags; + let SchedRW = ps.SchedRW; // encoding bits<7> sdst; @@ -703,6 +705,7 @@ let AsmMatchConverter = ps.AsmMatchConverter; let DisableEncoding = ps.DisableEncoding; let Constraints = ps.Constraints; + let SchedRW = ps.SchedRW; // encoding bits<7> sdst; @@ -953,11 +956,12 @@ let isCodeGenOnly = 0; // copy relevant pseudo op flags - let SubtargetPredicate = ps.SubtargetPredicate; - let OtherPredicates = ps.OtherPredicates; - let AsmMatchConverter = ps.AsmMatchConverter; + let SubtargetPredicate = ps.SubtargetPredicate; + let OtherPredicates = ps.OtherPredicates; + let AsmMatchConverter = ps.AsmMatchConverter; let UseNamedOperandTable = ps.UseNamedOperandTable; - let TSFlags = ps.TSFlags; + let TSFlags = ps.TSFlags; + let SchedRW = ps.SchedRW; // encoding bits<8> src0; @@ -1081,11 +1085,12 @@ let isCodeGenOnly = 0; // copy relevant pseudo op flags - let SubtargetPredicate = ps.SubtargetPredicate; - let OtherPredicates = ps.OtherPredicates; - let AsmMatchConverter = ps.AsmMatchConverter; + let SubtargetPredicate = ps.SubtargetPredicate; + let OtherPredicates = ps.OtherPredicates; + let AsmMatchConverter = ps.AsmMatchConverter; let UseNamedOperandTable = ps.UseNamedOperandTable; - let TSFlags = ps.TSFlags; + let TSFlags = ps.TSFlags; + let SchedRW = ps.SchedRW; bits <16> simm16; } diff --git a/llvm/lib/Target/AMDGPU/VOP1Instructions.td b/llvm/lib/Target/AMDGPU/VOP1Instructions.td --- a/llvm/lib/Target/AMDGPU/VOP1Instructions.td +++ b/llvm/lib/Target/AMDGPU/VOP1Instructions.td @@ -79,6 +79,7 @@ let UseNamedOperandTable = ps.UseNamedOperandTable; let Uses = ps.Uses; let Defs = ps.Defs; + let SchedRW = ps.SchedRW; } class VOP1_SDWA_Pseudo pattern=[]> : diff --git a/llvm/lib/Target/AMDGPU/VOP2Instructions.td b/llvm/lib/Target/AMDGPU/VOP2Instructions.td --- a/llvm/lib/Target/AMDGPU/VOP2Instructions.td +++ b/llvm/lib/Target/AMDGPU/VOP2Instructions.td @@ -101,6 +101,7 @@ let UseNamedOperandTable = ps.UseNamedOperandTable; let Uses = ps.Uses; let Defs = ps.Defs; + let SchedRW = ps.SchedRW; } class VOP2_SDWA_Pseudo pattern=[]> : diff --git a/llvm/lib/Target/AMDGPU/VOPCInstructions.td b/llvm/lib/Target/AMDGPU/VOPCInstructions.td --- a/llvm/lib/Target/AMDGPU/VOPCInstructions.td +++ b/llvm/lib/Target/AMDGPU/VOPCInstructions.td @@ -121,6 +121,7 @@ let UseNamedOperandTable = ps.UseNamedOperandTable; let Uses = ps.Uses; let Defs = ps.Defs; + let SchedRW = ps.SchedRW; } class VOPC_SDWA_Pseudo pattern=[]> : diff --git a/llvm/lib/Target/AMDGPU/VOPInstructions.td b/llvm/lib/Target/AMDGPU/VOPInstructions.td --- a/llvm/lib/Target/AMDGPU/VOPInstructions.td +++ b/llvm/lib/Target/AMDGPU/VOPInstructions.td @@ -162,6 +162,7 @@ let UseNamedOperandTable = ps.UseNamedOperandTable; let Uses = ps.Uses; let Defs = ps.Defs; + let SchedRW = ps.SchedRW; VOPProfile Pfl = ps.Pfl; } @@ -519,7 +520,6 @@ let Defs = ps.Defs; let Uses = ps.Uses; - let SchedRW = ps.SchedRW; let hasSideEffects = ps.hasSideEffects; let Constraints = ps.Constraints; @@ -535,6 +535,7 @@ let Constraints = ps.Constraints; let DisableEncoding = ps.DisableEncoding; let TSFlags = ps.TSFlags; + let SchedRW = ps.SchedRW; } class Base_VOP_SDWA9_Real : @@ -563,6 +564,7 @@ let Constraints = ps.Constraints; let DisableEncoding = ps.DisableEncoding; let TSFlags = ps.TSFlags; + let SchedRW = ps.SchedRW; } class VOP_SDWA9_Real : @@ -664,6 +666,7 @@ let Constraints = ps.Constraints; let DisableEncoding = ps.DisableEncoding; let TSFlags = ps.TSFlags; + let SchedRW = ps.SchedRW; } class VOP_DPP