aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-12-28 08:07:14 +0000
committerChris Lattner <sabre@nondot.org>2009-12-28 08:07:14 +0000
commit17ee03dd1ebbc3fbe63c4106c9a7a647641aabd7 (patch)
treefe7d0d0673656c706aa72914c91ae127b31b705e /include
parent59a5a2e4f4c264cdbe0d36a5bbbfa50e554603c4 (diff)
downloadexternal_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.h19
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) {