don't create the post-ra scheduler unless it is enabled.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45972 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2008-01-14 19:00:06 +00:00
parent a6c3f80d97
commit 459525df1e
2 changed files with 8 additions and 17 deletions

View File

@ -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<bool>
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.

View File

@ -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 <climits>
//#include <queue>
#include "llvm/Support/CommandLine.h"
using namespace llvm;
namespace {
bool NoPostRAScheduling;
// When this works it will be on by default.
cl::opt<bool, true>
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();