diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-12-22 01:17:43 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-12-22 01:17:43 +0000 |
| commit | 18d8b7575e3d197439ad6c3ad4bd4ba69afe598c (patch) | |
| tree | a0088b67f5ccac326b6f2ece23a64012a1f8a163 /llvm/include | |
| parent | f376c40d0e7828b4eb99ae67fcff3bef35defa7c (diff) | |
| download | bcm5719-llvm-18d8b7575e3d197439ad6c3ad4bd4ba69afe598c.tar.gz bcm5719-llvm-18d8b7575e3d197439ad6c3ad4bd4ba69afe598c.zip | |
types don't need atomic inc/dec, they are local to an llvmcontext.
llvm-svn: 91873
Diffstat (limited to 'llvm/include')
| -rw-r--r-- | llvm/include/llvm/Type.h | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/llvm/include/llvm/Type.h b/llvm/include/llvm/Type.h index 752635c68dd..47a62f82530 100644 --- a/llvm/include/llvm/Type.h +++ b/llvm/include/llvm/Type.h @@ -7,14 +7,12 @@ // //===----------------------------------------------------------------------===// - #ifndef LLVM_TYPE_H #define LLVM_TYPE_H #include "llvm/AbstractTypeUser.h" #include "llvm/Support/Casting.h" #include "llvm/System/DataTypes.h" -#include "llvm/System/Atomic.h" #include "llvm/ADT/GraphTraits.h" #include <string> #include <vector> @@ -104,7 +102,7 @@ private: /// has no AbstractTypeUsers, the type is deleted. This is only sensical for /// derived types. /// - mutable sys::cas_flag RefCount; + mutable unsigned RefCount; /// Context - This refers to the LLVMContext in which this type was uniqued. LLVMContext &Context; @@ -401,7 +399,7 @@ public: void addRef() const { assert(isAbstract() && "Cannot add a reference to a non-abstract type!"); - sys::AtomicIncrement(&RefCount); + ++RefCount; } void dropRef() const { @@ -410,8 +408,7 @@ public: // If this is the last PATypeHolder using this object, and there are no // PATypeHandles using it, the type is dead, delete it now. - sys::cas_flag OldCount = sys::AtomicDecrement(&RefCount); - if (OldCount == 0 && AbstractTypeUsers.empty()) + if (RefCount-- == 0 && AbstractTypeUsers.empty()) this->destroy(); } |

