@@ -216,8 +216,7 @@ class SILoadStoreOptimizer : public MachineFunctionPass {
216216 CombineInfo &Paired, bool Modify = false );
217217 static bool widthsFit (const GCNSubtarget &STI, const CombineInfo &CI,
218218 const CombineInfo &Paired);
219- static unsigned getNewOpcode (const CombineInfo &CI, const CombineInfo &Paired,
220- const GCNSubtarget *STI = nullptr );
219+ unsigned getNewOpcode (const CombineInfo &CI, const CombineInfo &Paired);
221220 static std::pair<unsigned , unsigned > getSubRegIdxs (const CombineInfo &CI,
222221 const CombineInfo &Paired);
223222 const TargetRegisterClass *
@@ -344,7 +343,6 @@ static unsigned getOpcodeWidth(const MachineInstr &MI, const SIInstrInfo &TII) {
344343 case AMDGPU::S_BUFFER_LOAD_DWORD_IMM:
345344 case AMDGPU::S_BUFFER_LOAD_DWORD_SGPR_IMM:
346345 case AMDGPU::S_LOAD_DWORD_IMM:
347- case AMDGPU::S_LOAD_DWORD_IMM_ec:
348346 case AMDGPU::GLOBAL_LOAD_DWORD:
349347 case AMDGPU::GLOBAL_LOAD_DWORD_SADDR:
350348 case AMDGPU::GLOBAL_STORE_DWORD:
@@ -513,7 +511,6 @@ static InstClassEnum getInstClass(unsigned Opc, const SIInstrInfo &TII) {
513511 case AMDGPU::S_LOAD_DWORDX3_IMM:
514512 case AMDGPU::S_LOAD_DWORDX4_IMM:
515513 case AMDGPU::S_LOAD_DWORDX8_IMM:
516- case AMDGPU::S_LOAD_DWORD_IMM_ec:
517514 case AMDGPU::S_LOAD_DWORDX2_IMM_ec:
518515 case AMDGPU::S_LOAD_DWORDX3_IMM_ec:
519516 case AMDGPU::S_LOAD_DWORDX4_IMM_ec:
@@ -602,7 +599,6 @@ static unsigned getInstSubclass(unsigned Opc, const SIInstrInfo &TII) {
602599 case AMDGPU::S_LOAD_DWORDX3_IMM:
603600 case AMDGPU::S_LOAD_DWORDX4_IMM:
604601 case AMDGPU::S_LOAD_DWORDX8_IMM:
605- case AMDGPU::S_LOAD_DWORD_IMM_ec:
606602 case AMDGPU::S_LOAD_DWORDX2_IMM_ec:
607603 case AMDGPU::S_LOAD_DWORDX3_IMM_ec:
608604 case AMDGPU::S_LOAD_DWORDX4_IMM_ec:
@@ -719,7 +715,6 @@ static AddressRegs getRegs(unsigned Opc, const SIInstrInfo &TII) {
719715 case AMDGPU::S_LOAD_DWORDX3_IMM:
720716 case AMDGPU::S_LOAD_DWORDX4_IMM:
721717 case AMDGPU::S_LOAD_DWORDX8_IMM:
722- case AMDGPU::S_LOAD_DWORD_IMM_ec:
723718 case AMDGPU::S_LOAD_DWORDX2_IMM_ec:
724719 case AMDGPU::S_LOAD_DWORDX3_IMM_ec:
725720 case AMDGPU::S_LOAD_DWORDX4_IMM_ec:
@@ -1476,7 +1471,7 @@ MachineBasicBlock::iterator SILoadStoreOptimizer::mergeSMemLoadImmPair(
14761471 MachineBasicBlock::iterator InsertBefore) {
14771472 MachineBasicBlock *MBB = CI.I ->getParent ();
14781473 DebugLoc DL = CI.I ->getDebugLoc ();
1479- const unsigned Opcode = getNewOpcode (CI, Paired, STM );
1474+ const unsigned Opcode = getNewOpcode (CI, Paired);
14801475
14811476 const TargetRegisterClass *SuperRC = getTargetRegisterClass (CI, Paired);
14821477
@@ -1688,8 +1683,7 @@ MachineBasicBlock::iterator SILoadStoreOptimizer::mergeFlatStorePair(
16881683}
16891684
16901685unsigned SILoadStoreOptimizer::getNewOpcode (const CombineInfo &CI,
1691- const CombineInfo &Paired,
1692- const GCNSubtarget *STI) {
1686+ const CombineInfo &Paired) {
16931687 const unsigned Width = CI.Width + Paired.Width ;
16941688
16951689 switch (getCommonInstClass (CI, Paired)) {
@@ -1732,8 +1726,9 @@ unsigned SILoadStoreOptimizer::getNewOpcode(const CombineInfo &CI,
17321726 return AMDGPU::S_BUFFER_LOAD_DWORDX8_SGPR_IMM;
17331727 }
17341728 case S_LOAD_IMM:
1735- // For targets that support XNACK replay, use the constrained load opcode.
1736- if (STI && STI->hasXnackReplay ()) {
1729+ // Use the constrained opcodes when the subtarget has the XNACK support
1730+ // enabled.
1731+ if (STM->isXNACKEnabled ()) {
17371732 switch (Width) {
17381733 default :
17391734 return 0 ;
0 commit comments