summaryrefslogtreecommitdiffstats
path: root/llvm/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
commit2db64a703139e9f13ff55733b363dc56f38feead (patch)
tree2fa5c2f9e7252e487696ff9e87d725ea9e95cd9a /llvm/lib/Target/Hexagon/HexagonMachineScheduler.h
parent5485acd440942fbb57bd27bb7e9414dbb68c74b4 (diff)
downloadbcm5719-llvm-2db64a703139e9f13ff55733b363dc56f38feead.tar.gz
bcm5719-llvm-2db64a703139e9f13ff55733b363dc56f38feead.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. llvm-svn: 163903
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonMachineScheduler.h')
-rw-r--r--llvm/lib/Target/Hexagon/HexagonMachineScheduler.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonMachineScheduler.h b/llvm/lib/Target/Hexagon/HexagonMachineScheduler.h
index 51829742fff..5b6f226a00e 100644
--- a/llvm/lib/Target/Hexagon/HexagonMachineScheduler.h
+++ b/llvm/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);
OpenPOWER on IntegriCloud