aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen/ScheduleDFS.h
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2013-01-25 06:33:57 +0000
committerAndrew Trick <atrick@apple.com>2013-01-25 06:33:57 +0000
commit4e1fb1894048455d49d62543b3f83672b27b0000 (patch)
treef5ea7b8bbf85ae1eb6c83753e07836868f292793 /include/llvm/CodeGen/ScheduleDFS.h
parent827de0520ee986fcda5f0d3290a3746249fa5847 (diff)
downloadexternal_llvm-4e1fb1894048455d49d62543b3f83672b27b0000.zip
external_llvm-4e1fb1894048455d49d62543b3f83672b27b0000.tar.gz
external_llvm-4e1fb1894048455d49d62543b3f83672b27b0000.tar.bz2
MIsched: Improve the interface to SchedDFS analysis (subtrees).
Allow the strategy to select SchedDFS. Allow the results of SchedDFS to affect initialization of the scheduler state. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173425 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/ScheduleDFS.h')
-rw-r--r--include/llvm/CodeGen/ScheduleDFS.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/ScheduleDFS.h b/include/llvm/CodeGen/ScheduleDFS.h
index 54b2232..e079292 100644
--- a/include/llvm/CodeGen/ScheduleDFS.h
+++ b/include/llvm/CodeGen/ScheduleDFS.h
@@ -127,7 +127,7 @@ public:
}
/// \brief Compute various metrics for the DAG with given roots.
- void compute(ArrayRef<SUnit *> Roots);
+ void compute(ArrayRef<SUnit> SUnits);
/// \brief Get the ILP value for a DAG node.
///
@@ -140,7 +140,12 @@ public:
unsigned getNumSubtrees() const { return SubtreeConnectLevels.size(); }
/// \brief Get the ID of the subtree the given DAG node belongs to.
+ ///
+ /// For convenience, if DFSResults have not been computed yet, give everything
+ /// tree ID 0.
unsigned getSubtreeID(const SUnit *SU) const {
+ if (empty())
+ return 0;
assert(SU->NodeNum < DFSData.size() && "New Node");
return DFSData[SU->NodeNum].SubtreeID;
}