From f28cdb64518db000c12de2c9bfe20c80015a86ab Mon Sep 17 00:00:00 2001 From: Stanislav Mekhanoshin Date: Thu, 11 Jul 2019 22:30:11 +0000 Subject: [PATCH] [AMDGPU] Fixed asan error with agpr spilling Instruction was used after it was erased. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365837 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/AMDGPU/SILowerSGPRSpills.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/Target/AMDGPU/SILowerSGPRSpills.cpp b/lib/Target/AMDGPU/SILowerSGPRSpills.cpp index abfe89491e7..9a93e84d80e 100644 --- a/lib/Target/AMDGPU/SILowerSGPRSpills.cpp +++ b/lib/Target/AMDGPU/SILowerSGPRSpills.cpp @@ -283,8 +283,11 @@ bool SILowerSGPRSpills::runOnMachineFunction(MachineFunction &MF) { int FI = MI.getOperand(FIOp).getIndex(); unsigned VReg = TII->getNamedOperand(MI, AMDGPU::OpName::vdata) ->getReg(); - if (FuncInfo->allocateVGPRSpillToAGPR(MF, FI, TRI->isAGPR(MRI, VReg))) + if (FuncInfo->allocateVGPRSpillToAGPR(MF, FI, + TRI->isAGPR(MRI, VReg))) { TRI->eliminateFrameIndex(MI, 0, FIOp, nullptr); + continue; + } } if (!TII->isSGPRSpill(MI)) -- 2.40.0