Correctly set the isCtrl flag for chain dependencies.
authorDan Gohman <gohman@apple.com>
Fri, 21 Nov 2008 19:17:25 +0000 (19:17 +0000)
committerDan Gohman <gohman@apple.com>
Fri, 21 Nov 2008 19:17:25 +0000 (19:17 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59837 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/ScheduleDAGInstrs.cpp

index 8d0e7788fdc0fc22f7064ca76d6948216922d5d4..21bbfde7093cd8889948b0b3127863a9d5d2595c 100644 (file)
@@ -85,18 +85,18 @@ void ScheduleDAGInstrs::BuildSchedUnits() {
     bool True = true;
     if (!MI->isSafeToMove(TII, False)) {
       if (Chain)
-        Chain->addPred(SU, /*isCtrl=*/false, /*isArtificial=*/false);
+        Chain->addPred(SU, /*isCtrl=*/true, /*isArtificial=*/false);
       for (unsigned k = 0, m = PendingLoads.size(); k != m; ++k)
-        PendingLoads[k]->addPred(SU, /*isCtrl=*/false, /*isArtificial=*/false);
+        PendingLoads[k]->addPred(SU, /*isCtrl=*/true, /*isArtificial=*/false);
       PendingLoads.clear();
       Chain = SU;
     } else if (!MI->isSafeToMove(TII, True)) {
       if (Chain)
-        Chain->addPred(SU, /*isCtrl=*/false, /*isArtificial=*/false);
+        Chain->addPred(SU, /*isCtrl=*/true, /*isArtificial=*/false);
       PendingLoads.push_back(SU);
     }
     if (Terminator && SU->Succs.empty())
-      Terminator->addPred(SU, /*isCtrl=*/false, /*isArtificial=*/false);
+      Terminator->addPred(SU, /*isCtrl=*/true, /*isArtificial=*/false);
     if (MI->getDesc().isTerminator() || MI->isLabel())
       Terminator = SU;