[llvm-commits] [llvm] r49383 - in /llvm/branches/ggreif/use-diet/include/llvm: Use.h User.h

Gabor Greif ggreif at gmail.com
Tue Apr 8 09:16:08 PDT 2008


Author: ggreif
Date: Tue Apr  8 11:16:07 2008
New Revision: 49383

URL: http://llvm.org/viewvc/llvm-project?rev=49383&view=rev
Log:
actually allocate storage for Uses

Modified:
    llvm/branches/ggreif/use-diet/include/llvm/Use.h
    llvm/branches/ggreif/use-diet/include/llvm/User.h

Modified: llvm/branches/ggreif/use-diet/include/llvm/Use.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/ggreif/use-diet/include/llvm/Use.h?rev=49383&r1=49382&r2=49383&view=diff

==============================================================================
--- llvm/branches/ggreif/use-diet/include/llvm/Use.h (original)
+++ llvm/branches/ggreif/use-diet/include/llvm/Use.h Tue Apr  8 11:16:07 2008
@@ -50,7 +50,7 @@
   Value *get() const { return Val; }
   User *getUser() const { return U; }
   const Use* getImpliedUser() const;
-  void initTags(Use *Start, Use *Stop, ptrdiff_t Done = 0);
+  static void initTags(Use *Start, Use *Stop, ptrdiff_t Done = 0);
 
   inline void set(Value *Val);
 

Modified: llvm/branches/ggreif/use-diet/include/llvm/User.h
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/ggreif/use-diet/include/llvm/User.h?rev=49383&r1=49382&r2=49383&view=diff

==============================================================================
--- llvm/branches/ggreif/use-diet/include/llvm/User.h (original)
+++ llvm/branches/ggreif/use-diet/include/llvm/User.h Tue Apr  8 11:16:07 2008
@@ -204,8 +204,12 @@
   ///
   unsigned NumOperands;
 
-  void *operator new(size_t s, unsigned) {
-    return ::operator new(s);
+  void *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;
+    Use::initTags(Start, End);
+    return End;
   }
   User(const Type *Ty, unsigned vty, Use *OpList, unsigned NumOps)
     : Value(Ty, vty), OperandList(OpList), NumOperands(NumOps) {}





More information about the llvm-commits mailing list