diff options
| author | Stephen Tozer <stephen.tozer@sony.com> | 2022-08-30 14:30:47 +0100 |
|---|---|---|
| committer | Stephen Tozer <stephen.tozer@sony.com> | 2022-09-01 14:20:24 +0100 |
| commit | 211efaa1ce8164cc27f96acdee7777969e2a2bcf (patch) | |
| tree | 957d9e64d9cd487cb532cb11a11c1ac829498970 /llvm/lib/CodeGen/LiveDebugValues | |
| parent | 20524a3c94cc35859b1dbcd5f4453185c136c847 (diff) | |
| download | llvm-211efaa1ce8164cc27f96acdee7777969e2a2bcf.zip llvm-211efaa1ce8164cc27f96acdee7777969e2a2bcf.tar.gz llvm-211efaa1ce8164cc27f96acdee7777969e2a2bcf.tar.bz2 | |
Reapply "[DebugInfo] Extend the InstrRef LDV to support DbgValues with many Ops"
Re-landing with an erroneous assert removed.
This reverts commit 58d104b352a65bec3fb7a8fd23bf2d408b4c76f7.
Diffstat (limited to 'llvm/lib/CodeGen/LiveDebugValues')
| -rw-r--r-- | llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp | 16 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h | 1 |
2 files changed, 0 insertions, 17 deletions
diff --git a/llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp b/llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp index 9aea790..87ccfc1 100644 --- a/llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp +++ b/llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp @@ -805,9 +805,6 @@ public: assert(LostMLocIt != ActiveMLocs.end() && "Variable was using this MLoc, but ActiveMLocs[MLoc] has no " "entries?"); - assert(LostMLocIt->second.contains(LocVarIt.second) && - "Variable was using this MLoc, but does not appear in " - "ActiveMLocs?"); LostMLocIt->second.erase(LocVarIt.second); } @@ -1341,19 +1338,6 @@ bool InstrRefBasedLDV::transferDebugValue(const MachineInstr &MI) { if (Scope == nullptr) return true; // handled it; by doing nothing - // For now, ignore DBG_VALUE_LISTs when extending ranges. Allow it to - // contribute to locations in this block, but don't propagate further. - // Interpret it like a DBG_VALUE $noreg. - if (MI.isDebugValueList()) { - SmallVector<DbgOpID> EmptyDebugOps; - SmallVector<ResolvedDbgOp> EmptyResolvedDebugOps; - if (VTracker) - VTracker->defVar(MI, Properties, EmptyDebugOps); - if (TTracker) - TTracker->redefVar(MI, Properties, EmptyResolvedDebugOps); - return true; - } - // MLocTracker needs to know that this register is read, even if it's only // read by a debug inst. for (const MachineOperand &MO : MI.debug_operands()) diff --git a/llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h b/llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h index 73a76db..879bdf7 100644 --- a/llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h +++ b/llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h @@ -979,7 +979,6 @@ public: void defVar(const MachineInstr &MI, const DbgValueProperties &Properties, const SmallVectorImpl<DbgOpID> &DebugOps) { assert(MI.isDebugValue() || MI.isDebugRef()); - assert(DebugOps.size() <= 1); DebugVariable Var(MI.getDebugVariable(), MI.getDebugExpression(), MI.getDebugLoc()->getInlinedAt()); DbgValue Rec = (DebugOps.size() > 0) |
