diff options
author | Devang Patel <dpatel@apple.com> | 2009-09-01 23:56:42 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2009-09-01 23:56:42 +0000 |
commit | 8c7f86e6980c9b22963b82feb6efa75e392e70c4 (patch) | |
tree | b8fc6b8a0560c197157d1bdbffb4ce8876cfaf48 /llvm/lib/VMCore/Metadata.cpp | |
parent | 2348e62498df2f0bea4370358af6c3d432d6d0b5 (diff) | |
download | bcm5719-llvm-8c7f86e6980c9b22963b82feb6efa75e392e70c4.tar.gz bcm5719-llvm-8c7f86e6980c9b22963b82feb6efa75e392e70c4.zip |
For now disable MDNode uniquing. This fixes llvm-gcc bootstrap failure on certain Mac OS X 10.5. I am working on a proper fix.
llvm-svn: 80738
Diffstat (limited to 'llvm/lib/VMCore/Metadata.cpp')
-rw-r--r-- | llvm/lib/VMCore/Metadata.cpp | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/llvm/lib/VMCore/Metadata.cpp b/llvm/lib/VMCore/Metadata.cpp index 60ec1c5c6ca..bb8021485f6 100644 --- a/llvm/lib/VMCore/Metadata.cpp +++ b/llvm/lib/VMCore/Metadata.cpp @@ -77,13 +77,13 @@ MDNode::MDNode(LLVMContext &C, Value*const* Vals, unsigned NumVals) } MDNode *MDNode::get(LLVMContext &Context, Value*const* Vals, unsigned NumVals) { - LLVMContextImpl *pImpl = Context.pImpl; std::vector<Value*> V; V.reserve(NumVals); for (unsigned i = 0; i < NumVals; ++i) V.push_back(Vals[i]); - return pImpl->MDNodes.getOrCreate(Type::getMetadataTy(Context), V); + // FIXME : Avoid creating duplicate node. + return new MDNode(Context, &V[0], V.size()); } /// dropAllReferences - Remove all uses and clear node vector. @@ -92,16 +92,8 @@ void MDNode::dropAllReferences() { Node.clear(); } -static std::vector<Value*> getValType(MDNode *N) { - std::vector<Value*> Elements; - Elements.reserve(N->getNumElements()); - for (unsigned i = 0, e = N->getNumElements(); i != e; ++i) - Elements.push_back(N->getElement(i)); - return Elements; -} - MDNode::~MDNode() { - getType()->getContext().pImpl->MDNodes.remove(this); + getType()->getContext().pImpl->MDNodes.erase(this); dropAllReferences(); } |