From b1ba8df090eaacdb79bf892633cf6ebc53b2a00e Mon Sep 17 00:00:00 2001 From: Tanya Lattner Date: Fri, 17 Jun 2005 04:00:22 +0000 Subject: Added SMS for superblocks as an option (experimental) llvm-svn: 22238 --- llvm/lib/Target/SparcV9/SparcV9TargetMachine.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'llvm/lib/Target/SparcV9/SparcV9TargetMachine.cpp') diff --git a/llvm/lib/Target/SparcV9/SparcV9TargetMachine.cpp b/llvm/lib/Target/SparcV9/SparcV9TargetMachine.cpp index 6842ddcfd26..155d4d59ef1 100644 --- a/llvm/lib/Target/SparcV9/SparcV9TargetMachine.cpp +++ b/llvm/lib/Target/SparcV9/SparcV9TargetMachine.cpp @@ -64,7 +64,10 @@ namespace { cl::desc("Emit LLVM-to-MachineCode mapping info to assembly")); cl::opt 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 EnableSBModSched("enable-modschedSB", + cl::desc("Enable superblock modulo scheduling (experimental)"), cl::Hidden); // Register the target. RegisterTarget 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")); -- cgit v1.2.3