From b2c0fe4d93ba75b8343de60984b0ce3548cd22c9 Mon Sep 17 00:00:00 2001 From: Owen Anderson Date: Thu, 18 Jun 2009 20:56:48 +0000 Subject: [PATCH] Simplify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73723 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/VMCore/Function.cpp | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/lib/VMCore/Function.cpp b/lib/VMCore/Function.cpp index ace54d35b2c..045056643b5 100644 --- a/lib/VMCore/Function.cpp +++ b/lib/VMCore/Function.cpp @@ -233,37 +233,30 @@ void Function::removeAttribute(unsigned i, Attributes attr) { // use GC. static DenseMap *GCNames; static StringPool *GCNamePool; -static ManagedStatic GCLock; +static ManagedStatic > GCLock; bool Function::hasGC() const { - if (llvm_is_multithreaded()) { - sys::ScopedReader Reader(&*GCLock); - return GCNames && GCNames->count(this); - } else - return GCNames && GCNames->count(this); + sys::SmartScopedReader Reader(&*GCLock); + return GCNames && GCNames->count(this); } const char *Function::getGC() const { assert(hasGC() && "Function has no collector"); - if (llvm_is_multithreaded()) { - sys::ScopedReader Reader(&*GCLock); - return *(*GCNames)[this]; - } else - return *(*GCNames)[this]; + sys::SmartScopedReader Reader(&*GCLock); + return *(*GCNames)[this]; } void Function::setGC(const char *Str) { - if (llvm_is_multithreaded()) GCLock->writer_acquire(); + sys::SmartScopedWriter Writer(&*GCLock); if (!GCNamePool) GCNamePool = new StringPool(); if (!GCNames) GCNames = new DenseMap(); (*GCNames)[this] = GCNamePool->intern(Str); - if (llvm_is_multithreaded()) GCLock->writer_release(); } void Function::clearGC() { - if (llvm_is_multithreaded()) GCLock->writer_acquire(); + sys::SmartScopedWriter Writer(&*GCLock); if (GCNames) { GCNames->erase(this); if (GCNames->empty()) { @@ -275,7 +268,6 @@ void Function::clearGC() { } } } - if (llvm_is_multithreaded()) GCLock->writer_release(); } /// copyAttributesFrom - copy all additional attributes (those not needed to