From 770e991bc4b8c0249325056aadf2af3b9da9ff5f Mon Sep 17 00:00:00 2001 From: Tanya Lattner Date: Fri, 17 Jun 2005 04:00:22 +0000 Subject: [PATCH] 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 --- lib/Target/SparcV9/SparcV9TargetMachine.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/Target/SparcV9/SparcV9TargetMachine.cpp b/lib/Target/SparcV9/SparcV9TargetMachine.cpp index 6842ddcfd26..155d4d59ef1 100644 --- a/lib/Target/SparcV9/SparcV9TargetMachine.cpp +++ b/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")); -- 2.34.1