Fix assertion so it doesn't not trip incorrectly.
authorVikram S. Adve <vadve@cs.uiuc.edu>
Sun, 21 Sep 2003 07:55:27 +0000 (07:55 +0000)
committerVikram S. Adve <vadve@cs.uiuc.edu>
Sun, 21 Sep 2003 07:55:27 +0000 (07:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8650 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/SparcV9/SparcV9RegClassInfo.cpp

index 75626e4a7b96e51e87af036b9e62f444df2928e2..babc6fb72cd639bcc99ff0c350e22022da0c4ac3 100644 (file)
@@ -213,10 +213,10 @@ void SparcFloatRegClass::colorIGNode(IGNode * Node,
     IGNode *NeighIGNode = Node->getAdjIGNode(n);
     LiveRange *NeighLR = NeighIGNode->getParentLR();
     
-    if (NeighLR->hasColor() &&
-       NeighLR->getType() == Type::DoubleTy) {
-      assert(IsColorUsedArr[ NeighLR->getColor() ] &&
-             IsColorUsedArr[ NeighLR->getColor()+1 ]);
+    if (NeighLR->hasColor()) {
+      assert(IsColorUsedArr[ NeighLR->getColor() ]);
+      if (NeighLR->getType() == Type::DoubleTy)
+        assert(IsColorUsedArr[ NeighLR->getColor()+1 ]);
       
     } else if (NeighLR->hasSuggestedColor() &&
                NeighLR-> isSuggestedColorUsable() ) {