summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-12-03 19:32:26 +0000
committerDan Gohman <gohman@apple.com>2008-12-03 19:32:26 +0000
commit444baea236a9979daa0025c955a1d74fab5bfee4 (patch)
treeacb5218c921bc3f82f64d1377e49a8c0c389dffd /llvm/lib/CodeGen
parent1a32dda4aa1ca008468738aedd100ac389ba6bd9 (diff)
downloadbcm5719-llvm-444baea236a9979daa0025c955a1d74fab5bfee4.tar.gz
bcm5719-llvm-444baea236a9979daa0025c955a1d74fab5bfee4.zip
When looking for anti-dependences on the critical path, don't bother
examining non-anti-dependence edges. llvm-svn: 60496
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/PostRASchedulerList.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/PostRASchedulerList.cpp b/llvm/lib/CodeGen/PostRASchedulerList.cpp
index bd9783281cc..73caea96b2e 100644
--- a/llvm/lib/CodeGen/PostRASchedulerList.cpp
+++ b/llvm/lib/CodeGen/PostRASchedulerList.cpp
@@ -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;
OpenPOWER on IntegriCloud