OSDN Git Service

When looking for anti-dependences on the critical path, don't bother
authorDan Gohman <gohman@apple.com>
Wed, 3 Dec 2008 19:32:26 +0000 (19:32 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 3 Dec 2008 19:32:26 +0000 (19:32 +0000)
examining non-anti-dependence edges.

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

lib/CodeGen/PostRASchedulerList.cpp

index bd97832..73caea9 100644 (file)
@@ -195,6 +195,10 @@ bool SchedulePostRATDList::BreakAntiDependencies() {
     SDep *Edge = CriticalPath[SU->NodeNum];
     SUnit *NextSU = Edge->Dep;
     unsigned AntiDepReg = Edge->Reg;
+    // Only consider anti-dependence edges.
+    if (!Edge->isAntiDep)
+      continue;
+    assert(AntiDepReg != 0 && "Anti-dependence on reg0?");
     // Don't break anti-dependencies on non-allocatable registers.
     if (!AllocatableSet.test(AntiDepReg))
       continue;