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.

llvm-svn: 174977

llvm/lib/CodeGen/ScheduleDAGInstrs.cpp

index 59e1ca1..71e7a21 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];