Equal treatment of labels and other terminators in MI DAG construction.
authorSergei Larin <slarin@codeaurora.org>
Tue, 12 Feb 2013 16:36:03 +0000 (16:36 +0000)
committerSergei Larin <slarin@codeaurora.org>
Tue, 12 Feb 2013 16:36:03 +0000 (16:36 +0000)
MI sched DAG construction allows targets to include terminators into scheduling DAG.
Extend this functionality to labels as well.

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

lib/CodeGen/ScheduleDAGInstrs.cpp

index 59e1ca17f67a3612cc1c10ac76f6b87965e2f496..71e7a21ef2bc0ff09622e1d7cff94d947ed4a566 100644 (file)
@@ -746,7 +746,7 @@ void ScheduleDAGInstrs::buildSchedGraph(AliasAnalysis *AA,
       assert(RPTracker->getPos() == prior(MII) && "RPTracker can't find MI");
     }
 
-    assert((!MI->isTerminator() || CanHandleTerminators) && !MI->isLabel() &&
+    assert((CanHandleTerminators || (!MI->isTerminator() && !MI->isLabel())) &&
            "Cannot schedule terminators or labels!");
 
     SUnit *SU = MISUnitMap[MI];