[PATCH] D34039: [ARM] Custom machine-scheduler. NFCI.

Javed Absar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 8 09:19:21 PDT 2017


javed.absar created this revision.
Herald added subscribers: kristof.beyls, aemerson.

This patch creates a customised machine-scheduler for ARM targets, so that subsequently DAG mutations etc
 can be added.


https://reviews.llvm.org/D34039

Files:
  lib/Target/ARM/ARMTargetMachine.cpp


Index: lib/Target/ARM/ARMTargetMachine.cpp
===================================================================
--- lib/Target/ARM/ARMTargetMachine.cpp
+++ lib/Target/ARM/ARMTargetMachine.cpp
@@ -37,6 +37,7 @@
 #include "llvm/CodeGen/GlobalISel/RegBankSelect.h"
 #include "llvm/CodeGen/GlobalISel/RegisterBankInfo.h"
 #include "llvm/CodeGen/MachineFunction.h"
+#include "llvm/CodeGen/MachineScheduler.h"
 #include "llvm/CodeGen/Passes.h"
 #include "llvm/CodeGen/TargetPassConfig.h"
 #include "llvm/IR/Attributes.h"
@@ -389,6 +390,20 @@
     return getTM<ARMBaseTargetMachine>();
   }
 
+  ScheduleDAGInstrs *
+  createMachineScheduler(MachineSchedContext *C) const override {
+    ScheduleDAGMILive *DAG = createGenericSchedLive(C);
+    // add DAG Mutations here.
+    return DAG;
+  }
+
+  ScheduleDAGInstrs *
+  createPostMachineScheduler(MachineSchedContext *C) const override {
+    ScheduleDAGMI *DAG = createGenericSchedPostRA(C);
+    // add DAG Mutations here.
+    return DAG;
+  }
+
   void addIRPasses() override;
   bool addPreISel() override;
   bool addInstSelector() override;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34039.101930.patch
Type: text/x-patch
Size: 1092 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170608/1305363a/attachment.bin>


More information about the llvm-commits mailing list