diff options
author | Owen Anderson <resistor@mac.com> | 2009-07-31 21:35:40 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2009-07-31 21:35:40 +0000 |
commit | 20be0583b5be721cb7065e7f4c4c4ad6a5e655e7 (patch) | |
tree | b7139544af240b94b3627101328ed7a81e3b9580 /lib/VMCore/LLVMContextImpl.cpp | |
parent | 7603480121a24dfd3e6f8343412c591a46bf8486 (diff) | |
download | external_llvm-20be0583b5be721cb7065e7f4c4c4ad6a5e655e7.zip external_llvm-20be0583b5be721cb7065e7f4c4c4ad6a5e655e7.tar.gz external_llvm-20be0583b5be721cb7065e7f4c4c4ad6a5e655e7.tar.bz2 |
Move the metadata constructors back to 2.5 syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77733 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/LLVMContextImpl.cpp')
-rw-r--r-- | lib/VMCore/LLVMContextImpl.cpp | 49 |
1 files changed, 1 insertions, 48 deletions
diff --git a/lib/VMCore/LLVMContextImpl.cpp b/lib/VMCore/LLVMContextImpl.cpp index bba5861..b29868a 100644 --- a/lib/VMCore/LLVMContextImpl.cpp +++ b/lib/VMCore/LLVMContextImpl.cpp @@ -20,51 +20,4 @@ using namespace llvm; LLVMContextImpl::LLVMContextImpl(LLVMContext &C) : - Context(C), TheTrueVal(0), TheFalseVal(0) { } - -MDString *LLVMContextImpl::getMDString(const char *StrBegin, - unsigned StrLength) { - sys::SmartScopedWriter<true> Writer(ConstantsLock); - StringMapEntry<MDString *> &Entry = - MDStringCache.GetOrCreateValue(StringRef(StrBegin, StrLength)); - MDString *&S = Entry.getValue(); - if (!S) S = new MDString(Entry.getKeyData(), - Entry.getKeyLength()); - - return S; -} - -MDNode *LLVMContextImpl::getMDNode(Value*const* Vals, unsigned NumVals) { - FoldingSetNodeID ID; - for (unsigned i = 0; i != NumVals; ++i) - ID.AddPointer(Vals[i]); - - ConstantsLock.reader_acquire(); - void *InsertPoint; - MDNode *N = MDNodeSet.FindNodeOrInsertPos(ID, InsertPoint); - ConstantsLock.reader_release(); - - if (!N) { - sys::SmartScopedWriter<true> Writer(ConstantsLock); - N = MDNodeSet.FindNodeOrInsertPos(ID, InsertPoint); - if (!N) { - // InsertPoint will have been set by the FindNodeOrInsertPos call. - N = new MDNode(Vals, NumVals); - MDNodeSet.InsertNode(N, InsertPoint); - } - } - - return N; -} - -// *** erase methods *** - -void LLVMContextImpl::erase(MDString *M) { - sys::SmartScopedWriter<true> Writer(ConstantsLock); - MDStringCache.erase(MDStringCache.find(M->getString())); -} - -void LLVMContextImpl::erase(MDNode *M) { - sys::SmartScopedWriter<true> Writer(ConstantsLock); - MDNodeSet.RemoveNode(M); -} + Context(C), TheTrueVal(0), TheFalseVal(0) { }
\ No newline at end of file |