diff --git a/llvm/lib/CodeGen/RegisterCoalescer.cpp b/llvm/lib/CodeGen/RegisterCoalescer.cpp --- a/llvm/lib/CodeGen/RegisterCoalescer.cpp +++ b/llvm/lib/CodeGen/RegisterCoalescer.cpp @@ -153,12 +153,6 @@ using DbgValueLoc = std::pair; DenseMap> DbgVRegToValues; - /// VRegs may be repeatedly coalesced, and have many DBG_VALUEs attached. - /// To avoid repeatedly merging sets of DbgValueLocs, instead record - /// which vregs have been coalesced, and where to. This map is from - /// vreg => {set of vregs merged in}. - DenseMap> DbgMergedVRegNums; - /// A LaneMask to remember on which subregister live ranges we need to call /// shrinkToUses() later. LaneBitmask ShrinkMask; @@ -3768,18 +3762,9 @@ checkMergingChangesDbgValuesImpl(Reg, LHS, RHS, RHSVals); }; - // Scan for potentially unsound DBG_VALUEs: examine first the register number - // Reg, and then any other vregs that may have been merged into it. - auto PerformScan = [this](Register Reg, std::function Func) { - Func(Reg); - if (DbgMergedVRegNums.count(Reg)) - for (Register X : DbgMergedVRegNums[Reg]) - Func(X); - }; - // Scan for unsound updates of both the source and destination register. - PerformScan(CP.getSrcReg(), ScanForSrcReg); - PerformScan(CP.getDstReg(), ScanForDstReg); + ScanForSrcReg(CP.getSrcReg()); + ScanForDstReg(CP.getDstReg()); } void RegisterCoalescer::checkMergingChangesDbgValuesImpl(Register Reg, @@ -4160,7 +4145,6 @@ MF->verify(this, "Before register coalescing"); DbgVRegToValues.clear(); - DbgMergedVRegNums.clear(); buildVRegToDbgValueMap(fn); RegClassInfo.runOnMachineFunction(fn);