diff options
Diffstat (limited to 'lib/VMCore/Constants.cpp')
-rw-r--r-- | lib/VMCore/Constants.cpp | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/lib/VMCore/Constants.cpp b/lib/VMCore/Constants.cpp index db40592..065ebcd 100644 --- a/lib/VMCore/Constants.cpp +++ b/lib/VMCore/Constants.cpp @@ -1327,9 +1327,9 @@ void UndefValue::destroyConstant() { // MDNode::MDNode(Value*const* Vals, unsigned NumVals) - : Constant(Type::MetadataTy, MDNodeVal, 0, 0) { + : MetadataBase(Type::MetadataTy, Value::MDNodeVal) { for (unsigned i = 0; i != NumVals; ++i) - Node.push_back(ElementVH(Vals[i], this)); + Node.push_back(WeakVH(Vals[i])); } void MDNode::Profile(FoldingSetNodeID &ID) const { @@ -1337,11 +1337,6 @@ void MDNode::Profile(FoldingSetNodeID &ID) const { ID.AddPointer(*I); } -void MDNode::destroyConstant() { - getType()->getContext().erase(this); - destroyConstantImpl(); -} - //---- ConstantExpr::get() implementations... // @@ -2315,6 +2310,4 @@ void MDNode::replaceElement(Value *From, Value *To) { assert(Replacement != this && "I didn't contain From!"); uncheckedReplaceAllUsesWith(Replacement); - - destroyConstant(); } |