[llvm-commits] [llvm] r49866 - /llvm/branches/ggreif/use-diet/include/llvm/Use.h

Gabor Greif ggreif at gmail.com
Thu Apr 17 13:31:40 PDT 2008


Author: ggreif
Date: Thu Apr 17 15:31:38 2008
New Revision: 49866

URL: http://llvm.org/viewvc/llvm-project?rev=49866&view=rev
Log:
first step of getting rid of tagged Use::Val. tagging Prev instead. the tags are never initialized, but that should not matter anyway.

Modified:
    llvm/branches/ggreif/use-diet/include/llvm/Use.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=49866&r1=49865&r2=49866&view=diff

==============================================================================
--- llvm/branches/ggreif/use-diet/include/llvm/Use.h (original)
+++ llvm/branches/ggreif/use-diet/include/llvm/Use.h Thu Apr 17 15:31:38 2008
@@ -116,8 +116,8 @@
 
   Use *getNext() const { return Next; }
 private:
-  Use *Next, **Prev;
   Value *Val;
+  Use *Next, **Prev;
 
   static Value *stripTag(Value *V) {
     return llvm::stripTag<fullStopTag>(V);
@@ -127,13 +127,13 @@
   }
   void addToList(Use **List) {
     Next = *List;
-    if (Next) Next->Prev = &Next;
-    Prev = List;
+    if (Next) Next->Prev = llvm::transferTag<fullStopTag>(Next->Prev, &Next);
+    Prev = llvm::transferTag<fullStopTag>(Prev, List);
     *List = this;
   }
   void removeFromList() {
-    *Prev = Next;
-    if (Next) Next->Prev = Prev;
+    *llvm::stripTag<fullStopTag>(Prev) = Next;
+    if (Next) Next->Prev = llvm::transferTag<fullStopTag>(Next->Prev, Prev);
   }
 
   friend class Value;





More information about the llvm-commits mailing list