diff options
author | Jay Foad <jay.foad@gmail.com> | 2011-01-16 08:10:57 +0000 |
---|---|---|
committer | Jay Foad <jay.foad@gmail.com> | 2011-01-16 08:10:57 +0000 |
commit | bdbe342e8602e38c7eadb4f0c2664e7e30bff768 (patch) | |
tree | 4a3ff783119429a1e6b5e3b7e92f9ff539c67f98 /lib/VMCore/Use.cpp | |
parent | 28252b6f0a483ffb0ead991c7a1ead14e3cd2fc1 (diff) |
Move the implementation of the User class into a new source file,
User.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123575 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/Use.cpp')
-rw-r--r-- | lib/VMCore/Use.cpp | 61 |
1 files changed, 1 insertions, 60 deletions
diff --git a/lib/VMCore/Use.cpp b/lib/VMCore/Use.cpp index 5dfe650685..32cf954ac6 100644 --- a/lib/VMCore/Use.cpp +++ b/lib/VMCore/Use.cpp @@ -11,7 +11,7 @@ // //===----------------------------------------------------------------------===// -#include "llvm/User.h" +#include "llvm/Value.h" namespace llvm { @@ -138,16 +138,6 @@ void Use::zap(Use *Start, const Use *Stop, bool del) { } //===----------------------------------------------------------------------===// -// AugmentedUse layout struct -//===----------------------------------------------------------------------===// - -struct AugmentedUse : public Use { - PointerIntPair<User*, 1, Tag> ref; - AugmentedUse(); // not implemented -}; - - -//===----------------------------------------------------------------------===// // Use getUser Implementation //===----------------------------------------------------------------------===// @@ -161,53 +151,4 @@ User *Use::getUser() const { : (User*)End; } -//===----------------------------------------------------------------------===// -// User allocHungoffUses Implementation -//===----------------------------------------------------------------------===// - -Use *User::allocHungoffUses(unsigned N) const { - Use *Begin = static_cast<Use*>(::operator new(sizeof(Use) * N - + sizeof(AugmentedUse) - - sizeof(Use))); - Use *End = Begin + N; - PointerIntPair<User*, 1, Tag>& ref(static_cast<AugmentedUse&>(End[-1]).ref); - ref.setPointer(const_cast<User*>(this)); - ref.setInt(tagOne); - return Use::initTags(Begin, End); -} - -//===----------------------------------------------------------------------===// -// User operator new Implementations -//===----------------------------------------------------------------------===// - -void *User::operator new(size_t s, unsigned Us) { - void *Storage = ::operator new(s + sizeof(Use) * Us); - Use *Start = static_cast<Use*>(Storage); - Use *End = Start + Us; - User *Obj = reinterpret_cast<User*>(End); - Obj->OperandList = Start; - Obj->NumOperands = Us; - Use::initTags(Start, End); - return Obj; -} - -//===----------------------------------------------------------------------===// -// User operator delete Implementation -//===----------------------------------------------------------------------===// - -void User::operator delete(void *Usr) { - User *Start = static_cast<User*>(Usr); - Use *Storage = static_cast<Use*>(Usr) - Start->NumOperands; - // - // look for a variadic User - if (Storage == Start->OperandList) { - ::operator delete(Storage); - return; - } - // - // in all other cases just delete the nullary User (covers hung-off - // uses also - ::operator delete(Usr); -} - } // End llvm namespace |