diff options
author | Nathan Chancellor <nathan@kernel.org> | 2021-04-30 20:23:21 -0700 |
---|---|---|
committer | Nathan Chancellor <nathan@kernel.org> | 2021-04-30 20:23:21 -0700 |
commit | 4397b7095d640f9b9426c4d0135e999c5a1de1c5 (patch) | |
tree | f2bda9d4093302085c8e744c73ebe5fddeb9362e /llvm/lib/IR/IntrinsicInst.cpp | |
parent | 6946f0ecca64f3af6b9e28cced9c982de2748f19 (diff) | |
download | llvm-4397b7095d640f9b9426c4d0135e999c5a1de1c5.zip llvm-4397b7095d640f9b9426c4d0135e999c5a1de1c5.tar.gz llvm-4397b7095d640f9b9426c4d0135e999c5a1de1c5.tar.bz2 |
Revert "Re-reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands""
This reverts commit 791930d74087b8ae8901172861a0fd21a211e436, as per
https://llvm.org/docs/DeveloperPolicy.html#patch-reversion-policy.
I observed breakage with the Linux kernel, as reported at
https://reviews.llvm.org/D91722#2724321
Fixes exist at
https://reviews.llvm.org/D101523
https://reviews.llvm.org/D101540
but they have not landed so to unbreak the tree for the weekend, revert
this commit.
Commit b11e4c990771 ("Revert "[DebugInfo] Drop DBG_VALUE_LISTs with an
excessive number of debug operands"") only reverted one follow-up fix,
not the original patch that broke the kernel.
e
Diffstat (limited to 'llvm/lib/IR/IntrinsicInst.cpp')
-rw-r--r-- | llvm/lib/IR/IntrinsicInst.cpp | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/llvm/lib/IR/IntrinsicInst.cpp b/llvm/lib/IR/IntrinsicInst.cpp index 80198d4..14b8732 100644 --- a/llvm/lib/IR/IntrinsicInst.cpp +++ b/llvm/lib/IR/IntrinsicInst.cpp @@ -118,23 +118,6 @@ void DbgVariableIntrinsic::replaceVariableLocationOp(unsigned OpIdx, 0, MetadataAsValue::get(getContext(), DIArgList::get(getContext(), MDs))); } -void DbgVariableIntrinsic::addVariableLocationOps(ArrayRef<Value *> NewValues, - DIExpression *NewExpr) { - assert(NewExpr->hasAllLocationOps(getNumVariableLocationOps() + - NewValues.size()) && - "NewExpr for debug variable intrinsic does not reference every " - "location operand."); - assert(!is_contained(NewValues, nullptr) && "New values must be non-null"); - setArgOperand(2, MetadataAsValue::get(getContext(), NewExpr)); - SmallVector<ValueAsMetadata *, 4> MDs; - for (auto *VMD : location_ops()) - MDs.push_back(getAsMetadata(VMD)); - for (auto *VMD : NewValues) - MDs.push_back(getAsMetadata(VMD)); - setArgOperand( - 0, MetadataAsValue::get(getContext(), DIArgList::get(getContext(), MDs))); -} - Optional<uint64_t> DbgVariableIntrinsic::getFragmentSizeInBits() const { if (auto Fragment = getExpression()->getFragmentInfo()) return Fragment->SizeInBits; |