diff --git a/lib/Target/AMDGPU/BUFInstructions.td b/lib/Target/AMDGPU/BUFInstructions.td index 6a3e823e4ac..74705e47c35 100644 --- a/lib/Target/AMDGPU/BUFInstructions.td +++ b/lib/Target/AMDGPU/BUFInstructions.td @@ -117,6 +117,7 @@ class MTBUF_Real : 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 @@ class MUBUF_Real : 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/lib/Target/AMDGPU/DSInstructions.td b/lib/Target/AMDGPU/DSInstructions.td index c856b2a0bbd..d07ab15f664 100644 --- a/lib/Target/AMDGPU/DSInstructions.td +++ b/lib/Target/AMDGPU/DSInstructions.td @@ -63,8 +63,9 @@ class DS_Real : // 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/lib/Target/AMDGPU/FLATInstructions.td b/lib/Target/AMDGPU/FLATInstructions.td index ede74605a81..2a19106428c 100644 --- a/lib/Target/AMDGPU/FLATInstructions.td +++ b/lib/Target/AMDGPU/FLATInstructions.td @@ -82,11 +82,12 @@ class FLAT_Real op, FLAT_Pseudo ps> : 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/lib/Target/AMDGPU/SMInstructions.td b/lib/Target/AMDGPU/SMInstructions.td index 2df33f19681..71890a008ab 100644 --- a/lib/Target/AMDGPU/SMInstructions.td +++ b/lib/Target/AMDGPU/SMInstructions.td @@ -57,10 +57,11 @@ class SM_Real 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/lib/Target/AMDGPU/SOPInstructions.td b/lib/Target/AMDGPU/SOPInstructions.td index 115aff6cc7f..a5534040704 100644 --- a/lib/Target/AMDGPU/SOPInstructions.td +++ b/lib/Target/AMDGPU/SOPInstructions.td @@ -66,6 +66,7 @@ class SOP1_Real op, SOP1_Pseudo ps, string real_name = ps.Mnemonic> : // 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 @@ class SOP2_Real op, SOP_Pseudo ps, string real_name = ps.Mnemonic> : 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 @@ class SOPK_Real op, SOPK_Pseudo ps> : let AsmMatchConverter = ps.AsmMatchConverter; let DisableEncoding = ps.DisableEncoding; let Constraints = ps.Constraints; + let SchedRW = ps.SchedRW; // encoding bits<7> sdst; @@ -953,11 +956,12 @@ class SOPC_Real op, SOPC_Pseudo ps, string real_name = ps.Mnemonic> : 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 @@ class SOPP_Real op, SOPP_Pseudo ps, string real_name = ps.Mnemonic> : 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/lib/Target/AMDGPU/VOP1Instructions.td b/lib/Target/AMDGPU/VOP1Instructions.td index b8f57c9f034..ac0731853e1 100644 --- a/lib/Target/AMDGPU/VOP1Instructions.td +++ b/lib/Target/AMDGPU/VOP1Instructions.td @@ -79,6 +79,7 @@ class VOP1_Real : let UseNamedOperandTable = ps.UseNamedOperandTable; let Uses = ps.Uses; let Defs = ps.Defs; + let SchedRW = ps.SchedRW; } class VOP1_SDWA_Pseudo pattern=[]> : diff --git a/lib/Target/AMDGPU/VOP2Instructions.td b/lib/Target/AMDGPU/VOP2Instructions.td index 2b8d5d9a520..8134ed72ec0 100644 --- a/lib/Target/AMDGPU/VOP2Instructions.td +++ b/lib/Target/AMDGPU/VOP2Instructions.td @@ -101,6 +101,7 @@ class VOP2_Real : let UseNamedOperandTable = ps.UseNamedOperandTable; let Uses = ps.Uses; let Defs = ps.Defs; + let SchedRW = ps.SchedRW; } class VOP2_SDWA_Pseudo pattern=[]> : diff --git a/lib/Target/AMDGPU/VOPCInstructions.td b/lib/Target/AMDGPU/VOPCInstructions.td index 7ca244fcc70..b8f27c7710d 100644 --- a/lib/Target/AMDGPU/VOPCInstructions.td +++ b/lib/Target/AMDGPU/VOPCInstructions.td @@ -121,6 +121,7 @@ class VOPC_Real : let UseNamedOperandTable = ps.UseNamedOperandTable; let Uses = ps.Uses; let Defs = ps.Defs; + let SchedRW = ps.SchedRW; } class VOPC_SDWA_Pseudo pattern=[]> : diff --git a/lib/Target/AMDGPU/VOPInstructions.td b/lib/Target/AMDGPU/VOPInstructions.td index 45b64dde69c..f0afc6d1b17 100644 --- a/lib/Target/AMDGPU/VOPInstructions.td +++ b/lib/Target/AMDGPU/VOPInstructions.td @@ -162,6 +162,7 @@ class VOP3_Real : let UseNamedOperandTable = ps.UseNamedOperandTable; let Uses = ps.Uses; let Defs = ps.Defs; + let SchedRW = ps.SchedRW; VOPProfile Pfl = ps.Pfl; } @@ -519,7 +520,6 @@ class VOP_SDWA_Real : let Defs = ps.Defs; let Uses = ps.Uses; - let SchedRW = ps.SchedRW; let hasSideEffects = ps.hasSideEffects; let Constraints = ps.Constraints; @@ -535,6 +535,7 @@ class VOP_SDWA_Real : 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 @@ class Base_VOP_SDWA9_Real : let Constraints = ps.Constraints; let DisableEncoding = ps.DisableEncoding; let TSFlags = ps.TSFlags; + let SchedRW = ps.SchedRW; } class VOP_SDWA9_Real : @@ -664,6 +666,7 @@ class VOP_DPP_Real : let Constraints = ps.Constraints; let DisableEncoding = ps.DisableEncoding; let TSFlags = ps.TSFlags; + let SchedRW = ps.SchedRW; } class VOP_DPP