Skip to content

Commit 09556a9

Browse files
committed
Used hasXnackReplay call to check if xnack feature is enabled.
1 parent faffbad commit 09556a9

File tree

103 files changed

+3573
-3660
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+3573
-3660
lines changed

llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

16901685
unsigned 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

Comments
 (0)