From d78c400b5bfb7904769b0ef9d259c7bb2573d8f8 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Tue, 13 May 2008 00:00:25 +0000 Subject: Clean up the use of static and anonymous namespaces. This turned up several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017 --- llvm/lib/CodeGen/BranchFolding.cpp | 12 ++--- llvm/lib/CodeGen/CollectorMetadata.cpp | 6 +-- llvm/lib/CodeGen/LiveIntervalAnalysis.cpp | 52 +++++++++++----------- llvm/lib/CodeGen/MachineDominators.cpp | 6 +-- llvm/lib/CodeGen/MachineLICM.cpp | 8 ++-- llvm/lib/CodeGen/MachineLoopInfo.cpp | 6 +-- llvm/lib/CodeGen/MachineModuleInfo.cpp | 8 ++-- llvm/lib/CodeGen/MachineSink.cpp | 7 +-- llvm/lib/CodeGen/OcamlCollector.cpp | 6 +-- llvm/lib/CodeGen/PHIElimination.cpp | 8 ++-- llvm/lib/CodeGen/Passes.cpp | 13 +++--- llvm/lib/CodeGen/RegAllocBigBlock.cpp | 8 ++-- llvm/lib/CodeGen/RegAllocLocal.cpp | 9 ++-- llvm/lib/CodeGen/RegisterCoalescer.cpp | 4 +- llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 2 +- llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 22 +++++---- llvm/lib/CodeGen/ShadowStackCollector.cpp | 9 ++-- llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp | 26 +++++------ llvm/lib/CodeGen/StrongPHIElimination.cpp | 13 ++++-- llvm/lib/CodeGen/TwoAddressInstructionPass.cpp | 8 ++-- llvm/lib/CodeGen/UnreachableBlockElim.cpp | 6 +-- llvm/lib/CodeGen/VirtRegMap.cpp | 18 ++++---- 22 files changed, 126 insertions(+), 131 deletions(-) (limited to 'llvm/lib/CodeGen') diff --git a/llvm/lib/CodeGen/BranchFolding.cpp b/llvm/lib/CodeGen/BranchFolding.cpp index 1807f98cb13..e935898f196 100644 --- a/llvm/lib/CodeGen/BranchFolding.cpp +++ b/llvm/lib/CodeGen/BranchFolding.cpp @@ -38,13 +38,13 @@ STATISTIC(NumBranchOpts, "Number of branches optimized"); STATISTIC(NumTailMerge , "Number of block tails merged"); static cl::opt FlagEnableTailMerge("enable-tail-merge", cl::init(cl::BOU_UNSET), cl::Hidden); -namespace { - // Throttle for huge numbers of predecessors (compile speed problems) - static cl::opt - TailMergeThreshold("tail-merge-threshold", - cl::desc("Max number of predecessors to consider tail merging"), - cl::init(100), cl::Hidden); +// Throttle for huge numbers of predecessors (compile speed problems) +static cl::opt +TailMergeThreshold("tail-merge-threshold", + cl::desc("Max number of predecessors to consider tail merging"), + cl::init(100), cl::Hidden); +namespace { struct VISIBILITY_HIDDEN BranchFolder : public MachineFunctionPass { static char ID; explicit BranchFolder(bool defaultEnableTailMerge) : diff --git a/llvm/lib/CodeGen/CollectorMetadata.cpp b/llvm/lib/CodeGen/CollectorMetadata.cpp index 80085cd29de..7a5a699a117 100644 --- a/llvm/lib/CodeGen/CollectorMetadata.cpp +++ b/llvm/lib/CodeGen/CollectorMetadata.cpp @@ -51,11 +51,11 @@ namespace { bool doFinalization(Module &M); }; - RegisterPass - X("collector-metadata", "Create Garbage Collector Module Metadata"); - } +static RegisterPass +X("collector-metadata", "Create Garbage Collector Module Metadata"); + // ----------------------------------------------------------------------------- CollectorMetadata::CollectorMetadata(const Function &F, Collector &C) diff --git a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp index 87c854bd027..8b25344b477 100644 --- a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp +++ b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp @@ -36,16 +36,14 @@ #include using namespace llvm; -namespace { - // Hidden options for help debugging. - static cl::opt DisableReMat("disable-rematerialization", - cl::init(false), cl::Hidden); - - static cl::opt SplitAtBB("split-intervals-at-bb", - cl::init(true), cl::Hidden); - static cl::opt SplitLimit("split-limit", - cl::init(-1), cl::Hidden); -} +// Hidden options for help debugging. +static cl::opt DisableReMat("disable-rematerialization", + cl::init(false), cl::Hidden); + +static cl::opt SplitAtBB("split-intervals-at-bb", + cl::init(true), cl::Hidden); +static cl::opt SplitLimit("split-limit", + cl::init(-1), cl::Hidden); STATISTIC(numIntervals, "Number of original intervals"); STATISTIC(numIntervalsAfter, "Number of intervals after coalescing"); @@ -53,9 +51,7 @@ STATISTIC(numFolds , "Number of loads/stores folded into instructions"); STATISTIC(numSplits , "Number of intervals split"); char LiveIntervals::ID = 0; -namespace { - RegisterPass X("liveintervals", "Live Interval Analysis"); -} +static RegisterPass X("liveintervals", "Live Interval Analysis"); void LiveIntervals::getAnalysisUsage(AnalysisUsage &AU) const { AU.addPreserved(); @@ -1078,20 +1074,22 @@ static const VNInfo *findDefinedVNInfo(const LiveInterval &li, unsigned DefIdx) /// RewriteInfo - Keep track of machine instrs that will be rewritten /// during spilling. -struct RewriteInfo { - unsigned Index; - MachineInstr *MI; - bool HasUse; - bool HasDef; - RewriteInfo(unsigned i, MachineInstr *mi, bool u, bool d) - : Index(i), MI(mi), HasUse(u), HasDef(d) {} -}; - -struct RewriteInfoCompare { - bool operator()(const RewriteInfo &LHS, const RewriteInfo &RHS) const { - return LHS.Index < RHS.Index; - } -}; +namespace { + struct RewriteInfo { + unsigned Index; + MachineInstr *MI; + bool HasUse; + bool HasDef; + RewriteInfo(unsigned i, MachineInstr *mi, bool u, bool d) + : Index(i), MI(mi), HasUse(u), HasDef(d) {} + }; + + struct RewriteInfoCompare { + bool operator()(const RewriteInfo &LHS, const RewriteInfo &RHS) const { + return LHS.Index < RHS.Index; + } + }; +} void LiveIntervals:: rewriteInstructionsForSpills(const LiveInterval &li, bool TrySplit, diff --git a/llvm/lib/CodeGen/MachineDominators.cpp b/llvm/lib/CodeGen/MachineDominators.cpp index 9b53bdb8b3f..0710c10d967 100644 --- a/llvm/lib/CodeGen/MachineDominators.cpp +++ b/llvm/lib/CodeGen/MachineDominators.cpp @@ -22,9 +22,7 @@ TEMPLATE_INSTANTIATION(class DominatorTreeBase); char MachineDominatorTree::ID = 0; -namespace { - RegisterPass - E("machinedomtree", "MachineDominator Tree Construction", true); -} +static RegisterPass +E("machinedomtree", "MachineDominator Tree Construction", true); const PassInfo *llvm::MachineDominatorsID = E.getPassInfo(); diff --git a/llvm/lib/CodeGen/MachineLICM.cpp b/llvm/lib/CodeGen/MachineLICM.cpp index c2adb1e8b73..7f48ab5499f 100644 --- a/llvm/lib/CodeGen/MachineLICM.cpp +++ b/llvm/lib/CodeGen/MachineLICM.cpp @@ -150,12 +150,12 @@ namespace { /// void Hoist(MachineInstr &MI); }; - - char MachineLICM::ID = 0; - RegisterPass X("machine-licm", - "Machine Loop Invariant Code Motion"); } // end anonymous namespace +char MachineLICM::ID = 0; +static RegisterPass +X("machine-licm", "Machine Loop Invariant Code Motion"); + FunctionPass *llvm::createMachineLICMPass() { return new MachineLICM(); } /// Hoist expressions out of the specified loop. Note, alias info for inner loop diff --git a/llvm/lib/CodeGen/MachineLoopInfo.cpp b/llvm/lib/CodeGen/MachineLoopInfo.cpp index 007317ccb59..ac3df435008 100644 --- a/llvm/lib/CodeGen/MachineLoopInfo.cpp +++ b/llvm/lib/CodeGen/MachineLoopInfo.cpp @@ -23,10 +23,8 @@ TEMPLATE_INSTANTIATION(class LoopBase); TEMPLATE_INSTANTIATION(class LoopInfoBase); char MachineLoopInfo::ID = 0; -namespace { - RegisterPass - X("machine-loops", "Machine Natural Loop Construction", true); -} +static RegisterPass +X("machine-loops", "Machine Natural Loop Construction", true); const PassInfo *llvm::MachineLoopInfoID = X.getPassInfo(); diff --git a/llvm/lib/CodeGen/MachineModuleInfo.cpp b/llvm/lib/CodeGen/MachineModuleInfo.cpp index 0cfcc61b780..2bad6bba836 100644 --- a/llvm/lib/CodeGen/MachineModuleInfo.cpp +++ b/llvm/lib/CodeGen/MachineModuleInfo.cpp @@ -27,9 +27,8 @@ using namespace llvm; using namespace llvm::dwarf; // Handle the Pass registration stuff necessary to use TargetData's. -namespace { - RegisterPass X("machinemoduleinfo", "Module Information"); -} +static RegisterPass +X("machinemoduleinfo", "Module Information"); char MachineModuleInfo::ID = 0; //===----------------------------------------------------------------------===// @@ -160,6 +159,8 @@ void DIVisitor::ApplyToFields(DebugInfoDesc *DD) { DD->ApplyToFields(this); } +namespace { + //===----------------------------------------------------------------------===// /// DICountVisitor - This DIVisitor counts all the fields in the supplied debug /// the supplied DebugInfoDesc. @@ -479,6 +480,7 @@ public: } }; +} //===----------------------------------------------------------------------===// diff --git a/llvm/lib/CodeGen/MachineSink.cpp b/llvm/lib/CodeGen/MachineSink.cpp index 97a4df5497f..b4e72fed28d 100644 --- a/llvm/lib/CodeGen/MachineSink.cpp +++ b/llvm/lib/CodeGen/MachineSink.cpp @@ -50,10 +50,11 @@ namespace { bool SinkInstruction(MachineInstr *MI, bool &SawStore); bool AllUsesDominatedByBlock(unsigned Reg, MachineBasicBlock *MBB) const; }; - - char MachineSinking::ID = 0; - RegisterPass X("machine-sink", "Machine code sinking"); } // end anonymous namespace + +char MachineSinking::ID = 0; +static RegisterPass +X("machine-sink", "Machine code sinking"); FunctionPass *llvm::createMachineSinkingPass() { return new MachineSinking(); } diff --git a/llvm/lib/CodeGen/OcamlCollector.cpp b/llvm/lib/CodeGen/OcamlCollector.cpp index 95022a9ed4d..6b947b10507 100644 --- a/llvm/lib/CodeGen/OcamlCollector.cpp +++ b/llvm/lib/CodeGen/OcamlCollector.cpp @@ -35,11 +35,11 @@ namespace { const TargetAsmInfo &TAI); }; - CollectorRegistry::Add - X("ocaml", "ocaml 3.10-compatible collector"); - } +static CollectorRegistry::Add +X("ocaml", "ocaml 3.10-compatible collector"); + // ----------------------------------------------------------------------------- static void EmitCamlGlobal(const Module &M, std::ostream &OS, AsmPrinter &AP, diff --git a/llvm/lib/CodeGen/PHIElimination.cpp b/llvm/lib/CodeGen/PHIElimination.cpp index 601bfd65d75..4a9077a0638 100644 --- a/llvm/lib/CodeGen/PHIElimination.cpp +++ b/llvm/lib/CodeGen/PHIElimination.cpp @@ -73,12 +73,12 @@ namespace { // Defs of PHI sources which are implicit_def. SmallPtrSet ImpDefs; }; - - char PNE::ID = 0; - RegisterPass X("phi-node-elimination", - "Eliminate PHI nodes for register allocation"); } +char PNE::ID = 0; +static RegisterPass +X("phi-node-elimination", "Eliminate PHI nodes for register allocation"); + const PassInfo *llvm::PHIEliminationID = X.getPassInfo(); bool PNE::runOnMachineFunction(MachineFunction &Fn) { diff --git a/llvm/lib/CodeGen/Passes.cpp b/llvm/lib/CodeGen/Passes.cpp index bcd67c5037f..f67eb79be3e 100644 --- a/llvm/lib/CodeGen/Passes.cpp +++ b/llvm/lib/CodeGen/Passes.cpp @@ -30,14 +30,11 @@ MachinePassRegistry RegisterRegAlloc::Registry; /// RegAlloc command line options. /// //===---------------------------------------------------------------------===// -namespace { - static - cl::opt > - RegAlloc("regalloc", - cl::init(&createLinearScanRegisterAllocator), - cl::desc("Register allocator to use: (default = linearscan)")); -} +static cl::opt > +RegAlloc("regalloc", + cl::init(&createLinearScanRegisterAllocator), + cl::desc("Register allocator to use: (default = linearscan)")); //===---------------------------------------------------------------------===// diff --git a/llvm/lib/CodeGen/RegAllocBigBlock.cpp b/llvm/lib/CodeGen/RegAllocBigBlock.cpp index 0c6c25439a7..215f9430997 100644 --- a/llvm/lib/CodeGen/RegAllocBigBlock.cpp +++ b/llvm/lib/CodeGen/RegAllocBigBlock.cpp @@ -52,11 +52,11 @@ STATISTIC(NumStores, "Number of stores added"); STATISTIC(NumLoads , "Number of loads added"); STATISTIC(NumFolded, "Number of loads/stores folded into instructions"); -namespace { - static RegisterRegAlloc - bigBlockRegAlloc("bigblock", " Big-block register allocator", - createBigBlockRegisterAllocator); +static RegisterRegAlloc + bigBlockRegAlloc("bigblock", " Big-block register allocator", + createBigBlockRegisterAllocator); +namespace { /// VRegKeyInfo - Defines magic values required to use VirtRegs as DenseMap /// keys. struct VRegKeyInfo { diff --git a/llvm/lib/CodeGen/RegAllocLocal.cpp b/llvm/lib/CodeGen/RegAllocLocal.cpp index 3281a2c3daf..18e7656bd46 100644 --- a/llvm/lib/CodeGen/RegAllocLocal.cpp +++ b/llvm/lib/CodeGen/RegAllocLocal.cpp @@ -37,12 +37,11 @@ using namespace llvm; STATISTIC(NumStores, "Number of stores added"); STATISTIC(NumLoads , "Number of loads added"); -namespace { - static RegisterRegAlloc - localRegAlloc("local", " local register allocator", - createLocalRegisterAllocator); - +static RegisterRegAlloc + localRegAlloc("local", " local register allocator", + createLocalRegisterAllocator); +namespace { class VISIBILITY_HIDDEN RALocal : public MachineFunctionPass { public: static char ID; diff --git a/llvm/lib/CodeGen/RegisterCoalescer.cpp b/llvm/lib/CodeGen/RegisterCoalescer.cpp index 9d25d2af890..1131e3db4e7 100644 --- a/llvm/lib/CodeGen/RegisterCoalescer.cpp +++ b/llvm/lib/CodeGen/RegisterCoalescer.cpp @@ -22,9 +22,7 @@ using namespace llvm; // Register the RegisterCoalescer interface, providing a nice name to refer to. -namespace { - RegisterAnalysisGroup Z("Register Coalescer"); -} +static RegisterAnalysisGroup Z("Register Coalescer"); char RegisterCoalescer::ID = 0; // RegisterCoalescer destructor: DO NOT move this to the header file diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index d2fe4718da4..f05f4445a8f 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -318,7 +318,7 @@ static void AddNodeIDOpcode(FoldingSetNodeID &ID, unsigned OpC) { /// AddNodeIDValueTypes - Value type lists are intern'd so we can represent them /// solely with their pointer. -void AddNodeIDValueTypes(FoldingSetNodeID &ID, SDVTList VTList) { +static void AddNodeIDValueTypes(FoldingSetNodeID &ID, SDVTList VTList) { ID.AddPointer(VTList.VTs); } diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index 241ad7e8a95..f79ad0290a7 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -74,18 +74,16 @@ MachinePassRegistry RegisterScheduler::Registry; /// ISHeuristic command line option for instruction schedulers. /// //===---------------------------------------------------------------------===// -namespace { - static cl::opt > - ISHeuristic("pre-RA-sched", - cl::init(&createDefaultScheduler), - cl::desc("Instruction schedulers available (before register" - " allocation):")); - - static RegisterScheduler - defaultListDAGScheduler("default", " Best scheduler for the target", - createDefaultScheduler); -} // namespace +static cl::opt > +ISHeuristic("pre-RA-sched", + cl::init(&createDefaultScheduler), + cl::desc("Instruction schedulers available (before register" + " allocation):")); + +static RegisterScheduler +defaultListDAGScheduler("default", " Best scheduler for the target", + createDefaultScheduler); namespace { struct SDISelAsmOperandInfo; } diff --git a/llvm/lib/CodeGen/ShadowStackCollector.cpp b/llvm/lib/CodeGen/ShadowStackCollector.cpp index 092671ce562..568fe44c30e 100644 --- a/llvm/lib/CodeGen/ShadowStackCollector.cpp +++ b/llvm/lib/CodeGen/ShadowStackCollector.cpp @@ -66,11 +66,14 @@ namespace { static GetElementPtrInst *CreateGEP(IRBuilder &B, Value *BasePtr, int Idx1, int Idx2, const char *Name); }; + +} - CollectorRegistry::Add - Y("shadow-stack", - "Very portable collector for uncooperative code generators"); +static CollectorRegistry::Add +Y("shadow-stack", + "Very portable collector for uncooperative code generators"); +namespace { /// EscapeEnumerator - This is a little algorithm to find all escape points /// from a function so that "finally"-style code can be inserted. In addition /// to finding the existing return and unwind instructions, it also (if diff --git a/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp b/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp index 6a110f0b87d..2526d4d8461 100644 --- a/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp +++ b/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp @@ -42,23 +42,21 @@ STATISTIC(numPeep , "Number of identity moves eliminated after coalescing"); STATISTIC(numAborts , "Number of times interval joining aborted"); char SimpleRegisterCoalescing::ID = 0; -namespace { - static cl::opt - EnableJoining("join-liveintervals", - cl::desc("Coalesce copies (default=true)"), - cl::init(true)); +static cl::opt +EnableJoining("join-liveintervals", + cl::desc("Coalesce copies (default=true)"), + cl::init(true)); - static cl::opt - NewHeuristic("new-coalescer-heuristic", - cl::desc("Use new coalescer heuristic"), - cl::init(false)); +static cl::opt +NewHeuristic("new-coalescer-heuristic", + cl::desc("Use new coalescer heuristic"), + cl::init(false)); - RegisterPass - X("simple-register-coalescing", "Simple Register Coalescing"); +static RegisterPass +X("simple-register-coalescing", "Simple Register Coalescing"); - // Declare that we implement the RegisterCoalescer interface - RegisterAnalysisGroup V(X); -} +// Declare that we implement the RegisterCoalescer interface +static RegisterAnalysisGroup V(X); const PassInfo *llvm::SimpleRegisterCoalescingID = X.getPassInfo(); diff --git a/llvm/lib/CodeGen/StrongPHIElimination.cpp b/llvm/lib/CodeGen/StrongPHIElimination.cpp index a632da6de09..79f8f507c68 100644 --- a/llvm/lib/CodeGen/StrongPHIElimination.cpp +++ b/llvm/lib/CodeGen/StrongPHIElimination.cpp @@ -140,12 +140,13 @@ namespace { SmallPtrSet& v); void mergeLiveIntervals(unsigned primary, unsigned secondary, unsigned VN); }; - - char StrongPHIElimination::ID = 0; - RegisterPass X("strong-phi-node-elimination", - "Eliminate PHI nodes for register allocation, intelligently"); } +char StrongPHIElimination::ID = 0; +static RegisterPass +X("strong-phi-node-elimination", + "Eliminate PHI nodes for register allocation, intelligently"); + const PassInfo *llvm::StrongPHIEliminationID = X.getPassInfo(); /// computeDFS - Computes the DFS-in and DFS-out numbers of the dominator tree @@ -192,6 +193,8 @@ void StrongPHIElimination::computeDFS(MachineFunction& MF) { } } +namespace { + /// PreorderSorter - a helper class that is used to sort registers /// according to the preorder number of their defining blocks class PreorderSorter { @@ -219,6 +222,8 @@ public: } }; +} + /// computeDomForest - compute the subforest of the DomTree corresponding /// to the defining blocks of the registers in question std::vector diff --git a/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp b/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp index 5dc1d699831..f343ff40d81 100644 --- a/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp +++ b/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp @@ -75,12 +75,12 @@ namespace { /// runOnMachineFunction - Pass entry point. bool runOnMachineFunction(MachineFunction&); }; - - char TwoAddressInstructionPass::ID = 0; - RegisterPass - X("twoaddressinstruction", "Two-Address instruction pass"); } +char TwoAddressInstructionPass::ID = 0; +static RegisterPass +X("twoaddressinstruction", "Two-Address instruction pass"); + const PassInfo *llvm::TwoAddressInstructionPassID = X.getPassInfo(); /// Sink3AddrInstruction - A two-address instruction has been converted to a diff --git a/llvm/lib/CodeGen/UnreachableBlockElim.cpp b/llvm/lib/CodeGen/UnreachableBlockElim.cpp index 9672dacd506..3ba920204ac 100644 --- a/llvm/lib/CodeGen/UnreachableBlockElim.cpp +++ b/llvm/lib/CodeGen/UnreachableBlockElim.cpp @@ -38,10 +38,10 @@ namespace { static char ID; // Pass identification, replacement for typeid UnreachableBlockElim() : FunctionPass((intptr_t)&ID) {} }; - char UnreachableBlockElim::ID = 0; - RegisterPass - X("unreachableblockelim", "Remove unreachable blocks from the CFG"); } +char UnreachableBlockElim::ID = 0; +static RegisterPass +X("unreachableblockelim", "Remove unreachable blocks from the CFG"); FunctionPass *llvm::createUnreachableBlockEliminationPass() { return new UnreachableBlockElim(); diff --git a/llvm/lib/CodeGen/VirtRegMap.cpp b/llvm/lib/CodeGen/VirtRegMap.cpp index fe8b6a5a63a..609e12d53ec 100644 --- a/llvm/lib/CodeGen/VirtRegMap.cpp +++ b/llvm/lib/CodeGen/VirtRegMap.cpp @@ -48,17 +48,17 @@ STATISTIC(NumDSS , "Number of dead spill slots removed"); namespace { enum SpillerName { simple, local }; - - static cl::opt - SpillerOpt("spiller", - cl::desc("Spiller to use: (default: local)"), - cl::Prefix, - cl::values(clEnumVal(simple, " simple spiller"), - clEnumVal(local, " local spiller"), - clEnumValEnd), - cl::init(local)); } +static cl::opt +SpillerOpt("spiller", + cl::desc("Spiller to use: (default: local)"), + cl::Prefix, + cl::values(clEnumVal(simple, " simple spiller"), + clEnumVal(local, " local spiller"), + clEnumValEnd), + cl::init(local)); + //===----------------------------------------------------------------------===// // VirtRegMap implementation //===----------------------------------------------------------------------===// -- cgit v1.2.3