diff options
author | Rahul Joshi <rjoshi@nvidia.com> | 2025-02-12 08:19:30 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-12 08:19:30 -0800 |
commit | bee9664970d51df3f4e1d298d1bcb95bba364e17 (patch) | |
tree | 310d1323fe2cad0643abd7b4e94319a4252c487f /llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp | |
parent | 165a3d6a9b164dc98a70596fa8117acf3de20254 (diff) | |
download | llvm-bee9664970d51df3f4e1d298d1bcb95bba364e17.zip llvm-bee9664970d51df3f4e1d298d1bcb95bba364e17.tar.gz llvm-bee9664970d51df3f4e1d298d1bcb95bba364e17.tar.bz2 |
[TableGen] Emit OpName as an enum class instead of a namespace (#125313)
- Change InstrInfoEmitter to emit OpName as an enum class
instead of an anonymous enum in the OpName namespace.
- This will help clearly distinguish between values that are
OpNames vs just operand indices and should help avoid
bugs due to confusion between the two.
- Rename OpName::OPERAND_LAST to NUM_OPERAND_NAMES.
- Emit declaration of getOperandIdx() along with the OpName
enum so it doesn't have to be repeated in various headers.
- Also updated AMDGPU, RISCV, and WebAssembly backends
to conform to the new definition of OpName (mostly
mechanical changes).
Diffstat (limited to 'llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp')
-rw-r--r-- | llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp b/llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp index 708acc9..39359d2 100644 --- a/llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp +++ b/llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp @@ -228,11 +228,11 @@ private: CombineInfo *checkAndPrepareMerge(CombineInfo &CI, CombineInfo &Paired); void copyToDestRegs(CombineInfo &CI, CombineInfo &Paired, - MachineBasicBlock::iterator InsertBefore, int OpName, - Register DestReg) const; + MachineBasicBlock::iterator InsertBefore, + AMDGPU::OpName OpName, Register DestReg) const; Register copyFromSrcRegs(CombineInfo &CI, CombineInfo &Paired, MachineBasicBlock::iterator InsertBefore, - int OpName) const; + AMDGPU::OpName OpName) const; unsigned read2Opcode(unsigned EltSize) const; unsigned read2ST64Opcode(unsigned EltSize) const; @@ -699,7 +699,7 @@ static AddressRegs getRegs(unsigned Opc, const SIInstrInfo &TII) { if (TII.isImage(Opc)) { int VAddr0Idx = AMDGPU::getNamedOperandIdx(Opc, AMDGPU::OpName::vaddr0); if (VAddr0Idx >= 0) { - int RsrcName = + AMDGPU::OpName RsrcName = TII.isMIMG(Opc) ? AMDGPU::OpName::srsrc : AMDGPU::OpName::rsrc; int RsrcIdx = AMDGPU::getNamedOperandIdx(Opc, RsrcName); Result.NumVAddrs = RsrcIdx - VAddr0Idx; @@ -968,11 +968,11 @@ bool SILoadStoreOptimizer::dmasksCanBeCombined(const CombineInfo &CI, return false; // Check other optional immediate operands for equality. - unsigned OperandsToMatch[] = {AMDGPU::OpName::cpol, AMDGPU::OpName::d16, - AMDGPU::OpName::unorm, AMDGPU::OpName::da, - AMDGPU::OpName::r128, AMDGPU::OpName::a16}; + AMDGPU::OpName OperandsToMatch[] = { + AMDGPU::OpName::cpol, AMDGPU::OpName::d16, AMDGPU::OpName::unorm, + AMDGPU::OpName::da, AMDGPU::OpName::r128, AMDGPU::OpName::a16}; - for (auto op : OperandsToMatch) { + for (AMDGPU::OpName op : OperandsToMatch) { int Idx = AMDGPU::getNamedOperandIdx(CI.I->getOpcode(), op); if (AMDGPU::getNamedOperandIdx(Paired.I->getOpcode(), op) != Idx) return false; @@ -1256,7 +1256,7 @@ SILoadStoreOptimizer::checkAndPrepareMerge(CombineInfo &CI, // Paired. void SILoadStoreOptimizer::copyToDestRegs( CombineInfo &CI, CombineInfo &Paired, - MachineBasicBlock::iterator InsertBefore, int OpName, + MachineBasicBlock::iterator InsertBefore, AMDGPU::OpName OpName, Register DestReg) const { MachineBasicBlock *MBB = CI.I->getParent(); DebugLoc DL = CI.I->getDebugLoc(); @@ -1287,7 +1287,7 @@ void SILoadStoreOptimizer::copyToDestRegs( Register SILoadStoreOptimizer::copyFromSrcRegs(CombineInfo &CI, CombineInfo &Paired, MachineBasicBlock::iterator InsertBefore, - int OpName) const { + AMDGPU::OpName OpName) const { MachineBasicBlock *MBB = CI.I->getParent(); DebugLoc DL = CI.I->getDebugLoc(); |