diff options
author | Andrew Trick <atrick@apple.com> | 2013-08-23 17:48:43 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2013-08-23 17:48:43 +0000 |
commit | ea57433cee8bd59acaa99d148b45df92347cea68 (patch) | |
tree | c8f164ca4a89c1452d93c5b374fd46e253d9fb7c /include/llvm/CodeGen/ScheduleDAGInstrs.h | |
parent | 99093638a024fc23609a323677e67bb1dc63ebe7 (diff) | |
download | external_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.h | 3 |
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 |