diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp --- a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp +++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp @@ -5244,7 +5244,10 @@ MIB.addImm(TFE->getImm()); } - MIB.addImm(getNamedImmOperand(MI, AMDGPU::OpName::swz)); + if (const MachineOperand *SWZ = + getNamedOperand(MI, AMDGPU::OpName::swz)) { + MIB.addImm(SWZ->getImm()); + } MIB.cloneMemRefs(MI); Addr64 = MIB; @@ -5289,6 +5292,7 @@ while (!Worklist.empty()) { MachineInstr &Inst = *Worklist.pop_back_val(); + LLVM_DEBUG(dbgs() << "Moving to VALU " << Inst); MachineBasicBlock *MBB = Inst.getParent(); MachineRegisterInfo &MRI = MBB->getParent()->getRegInfo();