diff options
author | Chris Lattner <sabre@nondot.org> | 2009-12-28 08:07:14 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-12-28 08:07:14 +0000 |
commit | 17ee03dd1ebbc3fbe63c4106c9a7a647641aabd7 (patch) | |
tree | fe7d0d0673656c706aa72914c91ae127b31b705e /include | |
parent | 59a5a2e4f4c264cdbe0d36a5bbbfa50e554603c4 (diff) | |
download | external_llvm-17ee03dd1ebbc3fbe63c4106c9a7a647641aabd7.tar.gz external_llvm-17ee03dd1ebbc3fbe63c4106c9a7a647641aabd7.tar.bz2 external_llvm-17ee03dd1ebbc3fbe63c4106c9a7a647641aabd7.zip |
change NamedMDNode to use a pimpl for its operand list instead
of making it a declared part of the value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92209 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Metadata.h | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/include/llvm/Metadata.h b/include/llvm/Metadata.h index 18da7a5b18..676811ebb4 100644 --- a/include/llvm/Metadata.h +++ b/include/llvm/Metadata.h @@ -158,7 +158,7 @@ class NamedMDNode : public MetadataBase, public ilist_node<NamedMDNode> { NamedMDNode(const NamedMDNode &); // DO NOT IMPLEMENT Module *Parent; - SmallVector<TrackingVH<MetadataBase>, 4> Node; + void *Operands; // SmallVector<TrackingVH<MetadataBase>, 4> void setParent(Module *M) { Parent = M; } protected: @@ -188,21 +188,14 @@ public: inline const Module *getParent() const { return Parent; } /// getElement - Return specified element. - MetadataBase *getElement(unsigned i) const { - assert(i < getNumElements() && "Invalid element number!"); - return Node[i]; - } - + MetadataBase *getElement(unsigned i) const; + /// getNumElements - Return number of NamedMDNode elements. - unsigned getNumElements() const { - return (unsigned)Node.size(); - } + unsigned getNumElements() const; /// addElement - Add metadata element. - void addElement(MetadataBase *M) { - Node.push_back(TrackingVH<MetadataBase>(M)); - } - + void addElement(MetadataBase *M); + /// Methods for support type inquiry through isa, cast, and dyn_cast: static inline bool classof(const NamedMDNode *) { return true; } static bool classof(const Value *V) { |