diff options
Diffstat (limited to 'include/llvm/Metadata.h')
| -rw-r--r-- | include/llvm/Metadata.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/llvm/Metadata.h b/include/llvm/Metadata.h index 4e459bf7bf5c..e5363228a396 100644 --- a/include/llvm/Metadata.h +++ b/include/llvm/Metadata.h @@ -75,6 +75,7 @@ class MDNode : public Value, public FoldingSetNode { MDNode(const MDNode &); // DO NOT IMPLEMENT void operator=(const MDNode &); // DO NOT IMPLEMENT friend class MDNodeOperand; + friend class LLVMContextImpl; /// NumOperands - This many 'MDNodeOperand' items are co-allocated onto the /// end of this MDNode. @@ -103,9 +104,13 @@ class MDNode : public Value, public FoldingSetNode { FL_Yes = 1 }; - // Replace each instance of F from the operand list of this node with T. + /// replaceOperand - Replace each instance of F from the operand list of this + /// node with T. void replaceOperand(MDNodeOperand *Op, Value *NewVal); ~MDNode(); + /// replaceAllOperandsWithNull - This is used while destroying llvm context to + /// gracefully delete all nodes. This method replaces all operands with null. + void replaceAllOperandsWithNull(); protected: explicit MDNode(LLVMContext &C, Value *const *Vals, unsigned NumVals, |
