From 8a455c91ff7aa438ab03fbd1520d0621c5fd721b Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Fri, 21 Jul 2017 19:31:44 +0000 Subject: [PATCH] AMDGPU: Preserve undef flag in eliminateFrameIndex Fixes verifier errors in some call tests. Not sure why we haven't run into this before. Test split into separate patch for once call support is committed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308774 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/AMDGPU/SIRegisterInfo.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/lib/Target/AMDGPU/SIRegisterInfo.cpp b/lib/Target/AMDGPU/SIRegisterInfo.cpp index d9a5ce338bf..bb5e252e1ba 100644 --- a/lib/Target/AMDGPU/SIRegisterInfo.cpp +++ b/lib/Target/AMDGPU/SIRegisterInfo.cpp @@ -472,17 +472,16 @@ static bool buildMUBUFOffsetLoadStore(const SIInstrInfo *TII, if (LoadStoreOp == -1) return false; - unsigned Reg = TII->getNamedOperand(*MI, AMDGPU::OpName::vdata)->getReg(); - + const MachineOperand *Reg = TII->getNamedOperand(*MI, AMDGPU::OpName::vdata); BuildMI(*MBB, MI, DL, TII->get(LoadStoreOp)) - .addReg(Reg, getDefRegState(!IsStore)) - .add(*TII->getNamedOperand(*MI, AMDGPU::OpName::srsrc)) - .add(*TII->getNamedOperand(*MI, AMDGPU::OpName::soffset)) - .addImm(Offset) - .addImm(0) // glc - .addImm(0) // slc - .addImm(0) // tfe - .setMemRefs(MI->memoperands_begin(), MI->memoperands_end()); + .add(*Reg) + .add(*TII->getNamedOperand(*MI, AMDGPU::OpName::srsrc)) + .add(*TII->getNamedOperand(*MI, AMDGPU::OpName::soffset)) + .addImm(Offset) + .addImm(0) // glc + .addImm(0) // slc + .addImm(0) // tfe + .setMemRefs(MI->memoperands_begin(), MI->memoperands_end()); return true; } -- 2.50.1