mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-04 01:42:09 +00:00
Adding option to llc for ModuloScheduling. By default it is turned off.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17959 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
18e6c22f05
commit
75e8419e48
@ -66,6 +66,9 @@ namespace {
|
||||
cl::opt<bool> DisableStrip("disable-strip",
|
||||
cl::desc("Do not strip the LLVM bytecode in executable"));
|
||||
|
||||
|
||||
cl::opt<bool> EnableModSched("enable-ModSched", cl::desc("Enable modulo scheduling pass instead of local scheduling"));
|
||||
|
||||
// Register the target.
|
||||
RegisterTarget<SparcV9TargetMachine> X("sparcv9", " SPARC V9");
|
||||
}
|
||||
@ -192,9 +195,17 @@ SparcV9TargetMachine::addPassesToEmitAssembly(PassManager &PM, std::ostream &Out
|
||||
|
||||
PM.add(createSparcV9BurgInstSelector(*this));
|
||||
|
||||
if (!DisableSched)
|
||||
PM.add(createInstructionSchedulingWithSSAPass(*this));
|
||||
if(PrintMachineCode)
|
||||
PM.add(createMachineFunctionPrinterPass(&std::cerr, "Before modulo scheduling:\n"));
|
||||
|
||||
//Use ModuloScheduling if enabled, otherwise use local scheduling if not disabled.
|
||||
if(EnableModSched)
|
||||
PM.add(createModuloSchedulingPass(*this));
|
||||
else {
|
||||
if (!DisableSched)
|
||||
PM.add(createInstructionSchedulingWithSSAPass(*this));
|
||||
}
|
||||
|
||||
if (PrintMachineCode)
|
||||
PM.add(createMachineFunctionPrinterPass(&std::cerr, "Before reg alloc:\n"));
|
||||
|
||||
|
@ -44,7 +44,7 @@ endif
|
||||
# What the Sparc JIT requires
|
||||
ifdef ENABLE_SPARCV9_JIT
|
||||
JITLIBS += LLVMSparcV9
|
||||
ARCHLIBS += LLVMSparcV9InstrSched LLVMSparcV9LiveVar LLVMInstrumentation.a \
|
||||
ARCHLIBS += LLVMSparcV9ModuloSched LLVMSparcV9InstrSched LLVMSparcV9LiveVar LLVMInstrumentation.a \
|
||||
LLVMProfilePaths LLVMBCWriter LLVMTransforms.a LLVMipo.a \
|
||||
LLVMipa.a LLVMDataStructure.a LLVMSparcV9RegAlloc
|
||||
endif
|
||||
|
@ -10,6 +10,7 @@
|
||||
LEVEL = ../..
|
||||
TOOLNAME = llc
|
||||
USEDLIBS = \
|
||||
LLVMSparcV9ModuloSched \
|
||||
LLVMCBackend \
|
||||
LLVMPowerPC \
|
||||
LLVMSparcV9 \
|
||||
|
Loading…
Reference in New Issue
Block a user