mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-28 19:25:00 +00:00
Stub out a PostMachineScheduler pass.
Placeholder and boilerplate for a PostRA MachineScheduler pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198120 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -88,6 +88,14 @@ PrintMachineInstrs("print-machineinstrs", cl::ValueOptional,
|
||||
cl::desc("Print machine instrs"),
|
||||
cl::value_desc("pass-name"), cl::init("option-unspecified"));
|
||||
|
||||
// Temporary option to allow experimenting with MachineScheduler as a post-RA
|
||||
// scheduler. Targets can "properly" enable this with
|
||||
// substitutePass(&PostRASchedulerID, &MachineSchedulerID); Ideally it wouldn't
|
||||
// be part of the standard pass pipeline, and the target would just add a PostRA
|
||||
// scheduling pass wherever it wants.
|
||||
static cl::opt<bool> MISchedPostRA("misched-postra", cl::Hidden,
|
||||
cl::desc("Run MachineScheduler post regalloc (independent of preRA sched)"));
|
||||
|
||||
// Experimental option to run live interval analysis early.
|
||||
static cl::opt<bool> EarlyLiveIntervals("early-live-intervals", cl::Hidden,
|
||||
cl::desc("Run live interval analysis earlier in the pipeline"));
|
||||
@@ -525,7 +533,10 @@ void TargetPassConfig::addMachinePasses() {
|
||||
|
||||
// Second pass scheduler.
|
||||
if (getOptLevel() != CodeGenOpt::None) {
|
||||
addPass(&PostRASchedulerID);
|
||||
if (MISchedPostRA)
|
||||
addPass(&PostMachineSchedulerID);
|
||||
else
|
||||
addPass(&PostRASchedulerID);
|
||||
printAndVerify("After PostRAScheduler");
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user