From c90ae265e97b798a9f2bd706e981efe8134219c8 Mon Sep 17 00:00:00 2001 From: QingShan Zhang Date: Thu, 4 Jul 2019 07:43:51 +0000 Subject: [PATCH] [NFC][PowerPC] Make the PowerPC scheduling strategy feature only control the strategy instead of the scheduler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365110 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/PPCTargetMachine.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp index fcaf7d6e3ee..ce00f848dd7 100644 --- a/lib/Target/PowerPC/PPCTargetMachine.cpp +++ b/lib/Target/PowerPC/PPCTargetMachine.cpp @@ -256,8 +256,11 @@ static CodeModel::Model getEffectivePPCCodeModel(const Triple &TT, static ScheduleDAGInstrs *createPPCMachineScheduler(MachineSchedContext *C) { + const PPCSubtarget &ST = C->MF->getSubtarget(); ScheduleDAGMILive *DAG = - new ScheduleDAGMILive(C, llvm::make_unique(C)); + new ScheduleDAGMILive(C, ST.usePPCPreRASchedStrategy() ? + llvm::make_unique(C) : + llvm::make_unique(C)); // add DAG Mutations here. DAG->addMutation(createCopyConstrainDAGMutation(DAG->TII, DAG->TRI)); return DAG; @@ -265,8 +268,11 @@ static ScheduleDAGInstrs *createPPCMachineScheduler(MachineSchedContext *C) { static ScheduleDAGInstrs *createPPCPostMachineScheduler( MachineSchedContext *C) { + const PPCSubtarget &ST = C->MF->getSubtarget(); ScheduleDAGMI *DAG = - new ScheduleDAGMI(C, llvm::make_unique(C), true); + new ScheduleDAGMI(C, ST.usePPCPostRASchedStrategy() ? + llvm::make_unique(C) : + llvm::make_unique(C), true); // add DAG Mutations here. return DAG; } @@ -366,17 +372,11 @@ public: void addPreEmitPass() override; ScheduleDAGInstrs * createMachineScheduler(MachineSchedContext *C) const override { - const PPCSubtarget &ST = C->MF->getSubtarget(); - if (ST.usePPCPreRASchedStrategy()) - return createPPCMachineScheduler(C); - return nullptr; + return createPPCMachineScheduler(C); } ScheduleDAGInstrs * createPostMachineScheduler(MachineSchedContext *C) const override { - const PPCSubtarget &ST = C->MF->getSubtarget(); - if (ST.usePPCPostRASchedStrategy()) - return createPPCPostMachineScheduler(C); - return nullptr; + return createPPCPostMachineScheduler(C); } }; -- 2.50.1