forked from OSchip/llvm-project
[ARM] Custom machine-scheduler. NFCI.
This patch creates a customised machine-scheduler for ARM targets, so that subsequently DAG mutations etc can be added. Reviewed by: hahn, rengolin, rovka. Differential Revision: https://reviews.llvm.org/D34039 llvm-svn: 305078
This commit is contained in:
parent
670109d89a
commit
9e1ff8654f
|
@ -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 @@ public:
|
|||
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;
|
||||
|
|
Loading…
Reference in New Issue