aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/Hexagon/HexagonMachineScheduler.h
diff options
context:
space:
mode:
authorSergei Larin <slarin@codeaurora.org>2012-09-14 15:07:59 +0000
committerSergei Larin <slarin@codeaurora.org>2012-09-14 15:07:59 +0000
commitc6a6660c6271d3309379ff439f66eb0e6ad48e3a (patch)
treed267f801d562c3d7b344e011759f5b912b4a3df8 /lib/Target/Hexagon/HexagonMachineScheduler.h
parentc5252da873d547a19069eaf9030fec203f128f66 (diff)
downloadexternal_llvm-c6a6660c6271d3309379ff439f66eb0e6ad48e3a.tar.gz
external_llvm-c6a6660c6271d3309379ff439f66eb0e6ad48e3a.tar.bz2
external_llvm-c6a6660c6271d3309379ff439f66eb0e6ad48e3a.zip
DAG post-process for Hexagon MI scheduler
This patch introduces a possibility for Hexagon MI scheduler to perform some target specific post- processing on the scheduling DAG prior to scheduling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163903 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Hexagon/HexagonMachineScheduler.h')
-rw-r--r--lib/Target/Hexagon/HexagonMachineScheduler.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Target/Hexagon/HexagonMachineScheduler.h b/lib/Target/Hexagon/HexagonMachineScheduler.h
index 51829742ff..5b6f226a00 100644
--- a/lib/Target/Hexagon/HexagonMachineScheduler.h
+++ b/lib/Target/Hexagon/HexagonMachineScheduler.h
@@ -114,6 +114,8 @@ public:
/// Schedule - This is called back from ScheduleDAGInstrs::Run() when it's
/// time to do some work.
virtual void schedule();
+ /// Perform platform specific DAG postprocessing.
+ void postprocessDAG();
};
/// ConvergingVLIWScheduler shrinks the unscheduled zone using heuristics
@@ -222,6 +224,11 @@ public:
virtual void releaseBottomNode(SUnit *SU);
+ unsigned ReportPackets() {
+ return Top.ResourceModel->getTotalPackets() +
+ Bot.ResourceModel->getTotalPackets();
+ }
+
protected:
SUnit *pickNodeBidrectional(bool &IsTopNode);