OSDN Git Service

Physical registers trivially have multiple connected components all the time.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 27 Oct 2010 00:39:01 +0000 (00:39 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 27 Oct 2010 00:39:01 +0000 (00:39 +0000)
Only virtuals should be requires to be connected.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117422 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/MachineVerifier.cpp

index b5211ee..9b3fdcf 100644 (file)
@@ -1069,11 +1069,13 @@ void MachineVerifier::verifyLiveIntervals() {
     }
 
     // Check the LI only has one connected component.
-    ConnectedVNInfoEqClasses ConEQ(*LiveInts);
-    unsigned NumComp = ConEQ.Classify(&LI);
-    if (NumComp > 1) {
-      report("Multiple connected components in live interval", MF);
-      *OS << NumComp << " components in " << LI << '\n';
+    if (TargetRegisterInfo::isVirtualRegister(LI.reg)) {
+      ConnectedVNInfoEqClasses ConEQ(*LiveInts);
+      unsigned NumComp = ConEQ.Classify(&LI);
+      if (NumComp > 1) {
+        report("Multiple connected components in live interval", MF);
+        *OS << NumComp << " components in " << LI << '\n';
+      }
     }
   }
 }