diff --git a/lib/CodeGen/LLVMTargetMachine.cpp b/lib/CodeGen/LLVMTargetMachine.cpp index b6554356eea..351554bb193 100644 --- a/lib/CodeGen/LLVMTargetMachine.cpp +++ b/lib/CodeGen/LLVMTargetMachine.cpp @@ -41,6 +41,12 @@ PerformLICM("machine-licm", cl::init(false), cl::Hidden, cl::desc("Perform loop-invariant code motion on machine code")); +// When this works it will be on by default. +static cl::opt +DisablePostRAScheduler("disable-post-RA-scheduler", + cl::desc("Disable scheduling after register allocation"), + cl::init(true)); + FileModel::Model LLVMTargetMachine::addPassesToEmitFile(FunctionPassManager &PM, std::ostream &Out, @@ -103,7 +109,7 @@ LLVMTargetMachine::addPassesToEmitFile(FunctionPassManager &PM, PM.add(createPrologEpilogCodeInserter()); // Second pass scheduler. - if (!Fast) + if (!Fast && !DisablePostRAScheduler) PM.add(createPostRAScheduler()); // Branch folding must be run after regalloc and prolog/epilog insertion. diff --git a/lib/CodeGen/PostRASchedulerList.cpp b/lib/CodeGen/PostRASchedulerList.cpp index c161134ed45..8c9776e07a9 100644 --- a/lib/CodeGen/PostRASchedulerList.cpp +++ b/lib/CodeGen/PostRASchedulerList.cpp @@ -21,23 +21,11 @@ #define DEBUG_TYPE "post-RA-sched" #include "llvm/CodeGen/Passes.h" #include "llvm/CodeGen/MachineFunctionPass.h" +#include "llvm/Support/Compiler.h" #include "llvm/Support/Debug.h" -//#include "llvm/ADT/Statistic.h" -//#include -//#include -#include "llvm/Support/CommandLine.h" using namespace llvm; namespace { - bool NoPostRAScheduling; - - // When this works it will be on by default. - cl::opt - DisablePostRAScheduler("disable-post-RA-scheduler", - cl::desc("Disable scheduling after register allocation"), - cl::location(NoPostRAScheduling), - cl::init(true)); - class VISIBILITY_HIDDEN SchedulePostRATDList : public MachineFunctionPass { public: static char ID; @@ -56,9 +44,6 @@ namespace { } bool SchedulePostRATDList::runOnMachineFunction(MachineFunction &Fn) { - if (NoPostRAScheduling) - return true; - DOUT << "SchedulePostRATDList\n"; MF = &Fn; TM = &MF->getTarget();