mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-15 14:28:25 +00:00
Added SMS for superblocks as an option (experimental)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22238 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
771c5c1819
commit
770e991bc4
@ -64,7 +64,10 @@ namespace {
|
||||
cl::desc("Emit LLVM-to-MachineCode mapping info to assembly"));
|
||||
|
||||
cl::opt<bool> EnableModSched("enable-modsched",
|
||||
cl::desc("Enable sparcv9 modulo scheduling pass instead of local scheduling"), cl::Hidden);
|
||||
cl::desc("Enable modulo scheduling pass"), cl::Hidden);
|
||||
|
||||
cl::opt<bool> EnableSBModSched("enable-modschedSB",
|
||||
cl::desc("Enable superblock modulo scheduling (experimental)"), cl::Hidden);
|
||||
|
||||
// Register the target.
|
||||
RegisterTarget<SparcV9TargetMachine> X("sparcv9", " SPARC V9");
|
||||
@ -192,6 +195,9 @@ SparcV9TargetMachine::addPassesToEmitAssembly(PassManager &PM, std::ostream &Out
|
||||
|
||||
PM.add(createSparcV9BurgInstSelector(*this));
|
||||
|
||||
if(!DisableSched && PrintMachineCode)
|
||||
PM.add(createMachineFunctionPrinterPass(&std::cerr, "Before local scheduling:\n"));
|
||||
|
||||
if (!DisableSched)
|
||||
PM.add(createInstructionSchedulingWithSSAPass(*this));
|
||||
|
||||
@ -202,6 +208,9 @@ SparcV9TargetMachine::addPassesToEmitAssembly(PassManager &PM, std::ostream &Out
|
||||
if(EnableModSched)
|
||||
PM.add(createModuloSchedulingPass(*this));
|
||||
|
||||
if(EnableSBModSched)
|
||||
PM.add(createModuloSchedulingSBPass(*this));
|
||||
|
||||
if (PrintMachineCode)
|
||||
PM.add(createMachineFunctionPrinterPass(&std::cerr, "Before reg alloc:\n"));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user