[llvm-branch-commits] [llvm-branch] r109230 - /llvm/branches/ggreif/waymark-64/lib/VMCore/Use.cpp

Gabor Greif ggreif at gmail.com
Fri Jul 23 09:02:38 PDT 2010


Author: ggreif
Date: Fri Jul 23 11:02:38 2010
New Revision: 109230

URL: http://llvm.org/viewvc/llvm-project?rev=109230&view=rev
Log:
implement s0 special

Modified:
    llvm/branches/ggreif/waymark-64/lib/VMCore/Use.cpp

Modified: llvm/branches/ggreif/waymark-64/lib/VMCore/Use.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/ggreif/waymark-64/lib/VMCore/Use.cpp?rev=109230&r1=109229&r2=109230&view=diff
==============================================================================
--- llvm/branches/ggreif/waymark-64/lib/VMCore/Use.cpp (original)
+++ llvm/branches/ggreif/waymark-64/lib/VMCore/Use.cpp Fri Jul 23 11:02:38 2010
@@ -56,7 +56,7 @@
       continue;
     switch (Tag) {
       case stop64Tag: {
-        ptrdiff_t Offset = 0;
+        ptrdiff_t Offset = Current->Prev.getInt() ? 0 : 1;
         while (true) {
           unsigned Tag = Current->Prev.getInt();
           switch (Tag) {
@@ -166,11 +166,18 @@
   while (Start != Stop) {
     --Stop;
     Stop->Val = 0;
-    if (!Count) {
+    switch (Count) {
+    case 0:
       Stop->Prev.setFromOpaqueValue(reinterpret_cast<Use**>(stop64Tag));
       ++Done;
       Count = Done;
-    } else {
+      continue;
+    case 4:
+      Stop->Prev.setFromOpaqueValue(reinterpret_cast<Use**>(zero64Tag));
+      ++Done;
+      Count = 0;
+      continue;
+    default:
       Stop->Prev.setFromOpaqueValue(reinterpret_cast<Use**>(Count & 3));
       Count >>= 2;
       ++Done;





More information about the llvm-branch-commits mailing list