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

Gabor Greif ggreif at gmail.com
Thu Oct 2 08:17:02 PDT 2008


Author: ggreif
Date: Thu Oct  2 10:17:02 2008
New Revision: 56949

URL: http://llvm.org/viewvc/llvm-project?rev=56949&view=rev
Log:
when prev is <s> and here is a <digit>
be careful to preserve prev <s> and thus avoid
potential joining of <digit> clusters

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=56949&r1=56948&r2=56949&view=diff

==============================================================================
--- llvm/branches/ggreif/use-diet/include/llvm/Use.h (original)
+++ llvm/branches/ggreif/use-diet/include/llvm/Use.h Thu Oct  2 10:17:02 2008
@@ -112,7 +112,7 @@
                   , tagMaskN = tagThree };
 
   static bool isStopTag(NextPtrTag T) {
-    bool P[] = { true, false, false, true };
+    bool P[4] = { true, false, false, true };
     return P[T];
   }
 public:
@@ -157,9 +157,10 @@
     __builtin_prefetch(Next);
     Use **StrippedPrev = stripTag<tagMask>(Prev);
     Use *StrippedNext(getNext());
-    if (isStop(Next))
-      assert((isStop(*StrippedPrev) || (StrippedNext ? isStop(StrippedNext->Next) : true)) && "joining digits?");
-    *StrippedPrev = Next;
+    if (!isStop(Next) && isStop(*StrippedPrev))
+      *StrippedPrev = stripTag<tagMaskN>(Next);
+    else
+      *StrippedPrev = Next;
     if (StrippedNext) StrippedNext->setPrev(StrippedPrev);
   }
 





More information about the llvm-commits mailing list