From 817c831f023af3a5a08e72f7454c4fbb771edc1c Mon Sep 17 00:00:00 2001 From: Stanislav Mekhanoshin Date: Tue, 25 Aug 2020 12:13:24 -0700 Subject: [PATCH] [AMDGPU] Switch to named simm16 in vscnt insertion Differential Revision: https://reviews.llvm.org/D86568 --- llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp b/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp index 5ab6edf..e4d341c 100644 --- a/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp +++ b/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp @@ -1090,8 +1090,8 @@ bool SIInsertWaitcnts::generateWaitcntInstBefore( } else { assert(II->getOpcode() == AMDGPU::S_WAITCNT_VSCNT); assert(II->getOperand(0).getReg() == AMDGPU::SGPR_NULL); - ScoreBrackets.applyWaitcnt( - AMDGPU::Waitcnt(~0u, ~0u, ~0u, II->getOperand(1).getImm())); + auto W = TII->getNamedOperand(*II, AMDGPU::OpName::simm16)->getImm(); + ScoreBrackets.applyWaitcnt(AMDGPU::Waitcnt(~0u, ~0u, ~0u, W)); } } } @@ -1139,12 +1139,13 @@ bool SIInsertWaitcnts::generateWaitcntInstBefore( assert(II->getOpcode() == AMDGPU::S_WAITCNT_VSCNT); assert(II->getOperand(0).getReg() == AMDGPU::SGPR_NULL); - unsigned ICnt = II->getOperand(1).getImm(); + unsigned ICnt = TII->getNamedOperand(*II, AMDGPU::OpName::simm16) + ->getImm(); OldWait.VsCnt = std::min(OldWait.VsCnt, ICnt); if (!TrackedWaitcntSet.count(&*II)) Wait.VsCnt = std::min(Wait.VsCnt, ICnt); if (Wait.VsCnt != ICnt) { - II->getOperand(1).setImm(Wait.VsCnt); + TII->getNamedOperand(*II, AMDGPU::OpName::simm16)->setImm(Wait.VsCnt); Modified = true; } Wait.VsCnt = ~0u; -- 2.7.4