aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen/ScheduleDAGInstrs.h
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2013-08-23 17:48:43 +0000
committerAndrew Trick <atrick@apple.com>2013-08-23 17:48:43 +0000
commitea57433cee8bd59acaa99d148b45df92347cea68 (patch)
treec8f164ca4a89c1452d93c5b374fd46e253d9fb7c /include/llvm/CodeGen/ScheduleDAGInstrs.h
parent99093638a024fc23609a323677e67bb1dc63ebe7 (diff)
downloadexternal_llvm-ea57433cee8bd59acaa99d148b45df92347cea68.zip
external_llvm-ea57433cee8bd59acaa99d148b45df92347cea68.tar.gz
external_llvm-ea57433cee8bd59acaa99d148b45df92347cea68.tar.bz2
Adds cyclic critical path computation and heuristics, temporarily disabled.
Estimate the cyclic critical path within a single block loop. If the acyclic critical path is longer, then the loop will exhaust OOO resources after some number of iterations. If lag between the acyclic critical path and cyclic critical path is longer the the time it takes to issue those loop iterations, then aggressively schedule for latency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189120 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/ScheduleDAGInstrs.h')
-rw-r--r--include/llvm/CodeGen/ScheduleDAGInstrs.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/ScheduleDAGInstrs.h b/include/llvm/CodeGen/ScheduleDAGInstrs.h
index 4a447e2..1b81314 100644
--- a/include/llvm/CodeGen/ScheduleDAGInstrs.h
+++ b/include/llvm/CodeGen/ScheduleDAGInstrs.h
@@ -197,6 +197,9 @@ namespace llvm {
/// input.
void buildSchedGraph(AliasAnalysis *AA, RegPressureTracker *RPTracker = 0);
+ /// Compute the cyclic critical path through the DAG.
+ unsigned computeCyclicCriticalPath();
+
/// addSchedBarrierDeps - Add dependencies from instructions in the current
/// list of instructions being scheduled to scheduling barrier. We want to
/// make sure instructions which define registers that are either used by