From ac0b6ae358944ae8b2b5a11dc08f52c3ed89f2da Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 6 Dec 2006 17:46:33 +0000 Subject: [PATCH] Detemplatize the Statistic class. The only type it is instantiated with is 'unsigned'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32279 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ADT/Statistic.h | 39 +++++++++---------- .../DataStructure/BottomUpClosure.cpp | 6 +-- lib/Analysis/DataStructure/CallTargets.cpp | 8 ++-- .../DataStructure/CompleteBottomUp.cpp | 2 +- lib/Analysis/DataStructure/DataStructure.cpp | 12 +++--- .../DataStructure/DataStructureOpt.cpp | 4 +- .../DataStructure/DataStructureStats.cpp | 10 ++--- .../DataStructure/EquivClassGraphs.cpp | 4 +- lib/Analysis/DataStructure/Printer.cpp | 4 +- lib/Analysis/DataStructure/TopDownClosure.cpp | 2 +- lib/Analysis/IPA/Andersens.cpp | 10 ++--- lib/Analysis/IPA/GlobalsModRef.cpp | 10 ++--- lib/Analysis/InstCount.cpp | 10 ++--- lib/Analysis/ScalarEvolution.cpp | 10 ++--- lib/Bytecode/Writer/Writer.cpp | 2 +- lib/CodeGen/BranchFolding.cpp | 6 +-- lib/CodeGen/LiveIntervalAnalysis.cpp | 10 ++--- lib/CodeGen/PHIElimination.cpp | 4 +- lib/CodeGen/RegAllocLinearScan.cpp | 4 +- lib/CodeGen/RegAllocLocal.cpp | 6 +-- lib/CodeGen/RegAllocSimple.cpp | 4 +- lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 6 +-- lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp | 4 +- lib/CodeGen/TwoAddressInstructionPass.cpp | 6 +-- lib/CodeGen/VirtRegMap.cpp | 12 +++--- lib/ExecutionEngine/ExecutionEngine.cpp | 4 +- lib/ExecutionEngine/Interpreter/Execution.cpp | 2 +- lib/ExecutionEngine/JIT/JITEmitter.cpp | 4 +- lib/Support/Statistic.cpp | 4 +- lib/Support/Timer.cpp | 2 +- lib/Target/ARM/ARMAsmPrinter.cpp | 2 +- lib/Target/Alpha/AlphaAsmPrinter.cpp | 2 +- lib/Target/Alpha/AlphaCodeEmitter.cpp | 2 +- lib/Target/Alpha/AlphaLLRP.cpp | 4 +- lib/Target/IA64/IA64AsmPrinter.cpp | 2 +- lib/Target/IA64/IA64Bundling.cpp | 2 +- lib/Target/IA64/IA64ISelDAGToDAG.cpp | 4 +- lib/Target/PowerPC/PPCAsmPrinter.cpp | 2 +- lib/Target/PowerPC/PPCBranchSelector.cpp | 2 +- lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 2 +- lib/Target/Sparc/DelaySlotFiller.cpp | 2 +- lib/Target/Sparc/FPMover.cpp | 4 +- lib/Target/Sparc/SparcAsmPrinter.cpp | 2 +- lib/Target/X86/X86AsmPrinter.cpp | 2 +- lib/Target/X86/X86AsmPrinter.h | 2 +- lib/Target/X86/X86CodeEmitter.cpp | 2 +- lib/Target/X86/X86FloatingPoint.cpp | 4 +- lib/Target/X86/X86ISelDAGToDAG.cpp | 4 +- lib/Transforms/Hello/Hello.cpp | 2 +- lib/Transforms/IPO/ArgumentPromotion.cpp | 6 +-- lib/Transforms/IPO/ConstantMerge.cpp | 2 +- .../IPO/DeadArgumentElimination.cpp | 4 +- lib/Transforms/IPO/DeadTypeElimination.cpp | 2 +- lib/Transforms/IPO/FunctionResolution.cpp | 4 +- lib/Transforms/IPO/GlobalDCE.cpp | 4 +- lib/Transforms/IPO/GlobalOpt.cpp | 22 +++++------ lib/Transforms/IPO/IPConstantPropagation.cpp | 4 +- lib/Transforms/IPO/IndMemRemoval.cpp | 4 +- lib/Transforms/IPO/Inliner.cpp | 4 +- lib/Transforms/IPO/Internalize.cpp | 4 +- lib/Transforms/IPO/LoopExtractor.cpp | 2 +- lib/Transforms/IPO/LowerSetJmp.cpp | 8 ++-- lib/Transforms/IPO/PruneEH.cpp | 4 +- lib/Transforms/IPO/RaiseAllocations.cpp | 2 +- lib/Transforms/IPO/SimplifyLibCalls.cpp | 4 +- .../Instrumentation/RSProfiling.cpp | 2 +- lib/Transforms/LevelRaise.cpp | 12 +++--- lib/Transforms/Scalar/ADCE.cpp | 6 +-- lib/Transforms/Scalar/BasicBlockPlacement.cpp | 2 +- lib/Transforms/Scalar/CondPropagate.cpp | 4 +- lib/Transforms/Scalar/ConstantProp.cpp | 2 +- lib/Transforms/Scalar/CorrelatedExprs.cpp | 6 +-- lib/Transforms/Scalar/DCE.cpp | 4 +- .../Scalar/DeadStoreElimination.cpp | 4 +- lib/Transforms/Scalar/GCSE.cpp | 10 ++--- lib/Transforms/Scalar/IndVarSimplify.cpp | 10 ++--- .../Scalar/InstructionCombining.cpp | 10 ++--- lib/Transforms/Scalar/LICM.cpp | 10 ++--- lib/Transforms/Scalar/LoopStrengthReduce.cpp | 6 +-- lib/Transforms/Scalar/LoopUnroll.cpp | 2 +- lib/Transforms/Scalar/LoopUnswitch.cpp | 10 ++--- lib/Transforms/Scalar/PredicateSimplifier.cpp | 6 +-- lib/Transforms/Scalar/Reassociate.cpp | 10 ++--- lib/Transforms/Scalar/Reg2Mem.cpp | 2 +- lib/Transforms/Scalar/SCCP.cpp | 12 +++--- .../Scalar/ScalarReplAggregates.cpp | 6 +-- lib/Transforms/Scalar/SimplifyCFG.cpp | 2 +- lib/Transforms/Scalar/TailDuplication.cpp | 4 +- .../Scalar/TailRecursionElimination.cpp | 4 +- lib/Transforms/Utils/BreakCriticalEdges.cpp | 2 +- lib/Transforms/Utils/LCSSA.cpp | 2 +- lib/Transforms/Utils/LoopSimplify.cpp | 4 +- lib/Transforms/Utils/LowerAllocations.cpp | 2 +- lib/Transforms/Utils/LowerInvoke.cpp | 6 +-- lib/Transforms/Utils/LowerSelect.cpp | 2 +- lib/Transforms/Utils/LowerSwitch.cpp | 2 +- lib/Transforms/Utils/Mem2Reg.cpp | 2 +- 97 files changed, 252 insertions(+), 255 deletions(-) diff --git a/include/llvm/ADT/Statistic.h b/include/llvm/ADT/Statistic.h index 99160da1063..332a57d1214 100644 --- a/include/llvm/ADT/Statistic.h +++ b/include/llvm/ADT/Statistic.h @@ -8,17 +8,19 @@ //===----------------------------------------------------------------------===// // // This file defines the 'Statistic' class, which is designed to be an easy way -// to expose various success metrics from passes. These statistics are printed -// at the end of a run, when the -stats command line option is enabled on the -// command line. +// to expose various metrics from passes. These statistics are printed at the +// end of a run (from llvm_shutdown), when the -stats command line option is +// passed on the command line. // // This is useful for reporting information like the number of instructions // simplified, optimized or removed by various transformations, like this: // -// static Statistic<> NumInstsKilled("gcse", "Number of instructions killed"); +// static Statistic NumInstsKilled("gcse", "Number of instructions killed"); // // Later, in the code: ++NumInstsKilled; // +// NOTE: Statistics *must* be declared as global variables. +// //===----------------------------------------------------------------------===// #ifndef LLVM_ADT_STATISTIC_H @@ -29,7 +31,7 @@ namespace llvm { -// StatisticBase - Nontemplated base class for Statistic<> class... +// StatisticBase - Nontemplated base class for Statistic class... class StatisticBase { const char *Name; const char *Desc; @@ -55,39 +57,36 @@ protected: }; // Statistic Class - templated on the data type we are monitoring... -template class Statistic : private StatisticBase { - DataType Value; + unsigned Value; virtual void printValue(std::ostream &o) const { o << Value; } - virtual bool hasSomeData() const { return Value != DataType(); } + virtual bool hasSomeData() const { return Value != 0; } public: // Normal constructor, default initialize data item... Statistic(const char *name, const char *desc) - : StatisticBase(name, desc), Value(DataType()) {} + : StatisticBase(name, desc), Value(0) {} // Constructor to provide an initial value... - Statistic(const DataType &Val, const char *name, const char *desc) + Statistic(const unsigned &Val, const char *name, const char *desc) : StatisticBase(name, desc), Value(Val) {} // Print information when destroyed, iff command line option is specified ~Statistic() { destroy(); } // Allow use of this class as the value itself... - operator DataType() const { return Value; } - const Statistic &operator=(DataType Val) { Value = Val; return *this; } + operator unsigned() const { return Value; } + const Statistic &operator=(unsigned Val) { Value = Val; return *this; } const Statistic &operator++() { ++Value; return *this; } - DataType operator++(int) { return Value++; } + unsigned operator++(int) { return Value++; } const Statistic &operator--() { --Value; return *this; } - DataType operator--(int) { return Value--; } - const Statistic &operator+=(const DataType &V) { Value += V; return *this; } - const Statistic &operator-=(const DataType &V) { Value -= V; return *this; } - const Statistic &operator*=(const DataType &V) { Value *= V; return *this; } - const Statistic &operator/=(const DataType &V) { Value /= V; return *this; } + unsigned operator--(int) { return Value--; } + const Statistic &operator+=(const unsigned &V) { Value += V; return *this; } + const Statistic &operator-=(const unsigned &V) { Value -= V; return *this; } + const Statistic &operator*=(const unsigned &V) { Value *= V; return *this; } + const Statistic &operator/=(const unsigned &V) { Value /= V; return *this; } }; -EXTERN_TEMPLATE_INSTANTIATION(class Statistic); - } // End llvm namespace #endif diff --git a/lib/Analysis/DataStructure/BottomUpClosure.cpp b/lib/Analysis/DataStructure/BottomUpClosure.cpp index 19b3ec1533e..f5ca5fd6f58 100644 --- a/lib/Analysis/DataStructure/BottomUpClosure.cpp +++ b/lib/Analysis/DataStructure/BottomUpClosure.cpp @@ -26,9 +26,9 @@ using namespace llvm; namespace { - Statistic<> MaxSCC("budatastructure", "Maximum SCC Size in Call Graph"); - Statistic<> NumBUInlines("budatastructures", "Number of graphs inlined"); - Statistic<> NumCallEdges("budatastructures", "Number of 'actual' call edges"); + Statistic MaxSCC("budatastructure", "Maximum SCC Size in Call Graph"); + Statistic NumBUInlines("budatastructures", "Number of graphs inlined"); + Statistic NumCallEdges("budatastructures", "Number of 'actual' call edges"); cl::opt AddGlobals("budatastructures-annotate-calls", cl::Hidden, diff --git a/lib/Analysis/DataStructure/CallTargets.cpp b/lib/Analysis/DataStructure/CallTargets.cpp index 5850749c6fd..5ed44574180 100644 --- a/lib/Analysis/DataStructure/CallTargets.cpp +++ b/lib/Analysis/DataStructure/CallTargets.cpp @@ -29,10 +29,10 @@ using namespace llvm; namespace { - Statistic<> DirCall("calltarget", "Number of direct calls"); - Statistic<> IndCall("calltarget", "Number of indirect calls"); - Statistic<> CompleteInd("calltarget", "Number of complete indirect calls"); - Statistic<> CompleteEmpty("calltarget", "Number of complete empty calls"); + Statistic DirCall("calltarget", "Number of direct calls"); + Statistic IndCall("calltarget", "Number of indirect calls"); + Statistic CompleteInd("calltarget", "Number of complete indirect calls"); + Statistic CompleteEmpty("calltarget", "Number of complete empty calls"); RegisterPass X("calltarget","Find Call Targets (uses DSA)"); } diff --git a/lib/Analysis/DataStructure/CompleteBottomUp.cpp b/lib/Analysis/DataStructure/CompleteBottomUp.cpp index aea113d97dd..af33e0d7417 100644 --- a/lib/Analysis/DataStructure/CompleteBottomUp.cpp +++ b/lib/Analysis/DataStructure/CompleteBottomUp.cpp @@ -26,7 +26,7 @@ using namespace llvm; namespace { RegisterPass X("cbudatastructure", "'Complete' Bottom-up Data Structure Analysis"); - Statistic<> NumCBUInlines("cbudatastructures", "Number of graphs inlined"); + Statistic NumCBUInlines("cbudatastructures", "Number of graphs inlined"); } diff --git a/lib/Analysis/DataStructure/DataStructure.cpp b/lib/Analysis/DataStructure/DataStructure.cpp index 6eee541aeb5..80237c4f0bf 100644 --- a/lib/Analysis/DataStructure/DataStructure.cpp +++ b/lib/Analysis/DataStructure/DataStructure.cpp @@ -34,12 +34,12 @@ using namespace llvm; #define COLLAPSE_ARRAYS_AGGRESSIVELY 0 namespace { - Statistic<> NumFolds ("dsa", "Number of nodes completely folded"); - Statistic<> NumCallNodesMerged("dsa", "Number of call nodes merged"); - Statistic<> NumNodeAllocated ("dsa", "Number of nodes allocated"); - Statistic<> NumDNE ("dsa", "Number of nodes removed by reachability"); - Statistic<> NumTrivialDNE ("dsa", "Number of nodes trivially removed"); - Statistic<> NumTrivialGlobalDNE("dsa", "Number of globals trivially removed"); + Statistic NumFolds ("dsa", "Number of nodes completely folded"); + Statistic NumCallNodesMerged("dsa", "Number of call nodes merged"); + Statistic NumNodeAllocated ("dsa", "Number of nodes allocated"); + Statistic NumDNE ("dsa", "Number of nodes removed by reachability"); + Statistic NumTrivialDNE ("dsa", "Number of nodes trivially removed"); + Statistic NumTrivialGlobalDNE("dsa", "Number of globals trivially removed"); static cl::opt DSAFieldLimit("dsa-field-limit", cl::Hidden, cl::desc("Number of fields to track before collapsing a node"), diff --git a/lib/Analysis/DataStructure/DataStructureOpt.cpp b/lib/Analysis/DataStructure/DataStructureOpt.cpp index 56748832ab5..85da1763ac2 100644 --- a/lib/Analysis/DataStructure/DataStructureOpt.cpp +++ b/lib/Analysis/DataStructure/DataStructureOpt.cpp @@ -22,9 +22,9 @@ using namespace llvm; namespace { - Statistic<> + Statistic NumGlobalsConstanted("ds-opt", "Number of globals marked constant"); - Statistic<> + Statistic NumGlobalsIsolated("ds-opt", "Number of globals with references dropped"); class DSOpt : public ModulePass { diff --git a/lib/Analysis/DataStructure/DataStructureStats.cpp b/lib/Analysis/DataStructure/DataStructureStats.cpp index 469ab2e719e..f7fbe3b33cd 100644 --- a/lib/Analysis/DataStructure/DataStructureStats.cpp +++ b/lib/Analysis/DataStructure/DataStructureStats.cpp @@ -23,19 +23,19 @@ using namespace llvm; namespace { - Statistic<> TotalNumCallees("totalcallees", + Statistic TotalNumCallees("totalcallees", "Total number of callee functions at all indirect call sites"); - Statistic<> NumIndirectCalls("numindirect", + Statistic NumIndirectCalls("numindirect", "Total number of indirect call sites in the program"); - Statistic<> NumPoolNodes("numpools", + Statistic NumPoolNodes("numpools", "Number of allocation nodes that could be pool allocated"); // Typed/Untyped memory accesses: If DSA can infer that the types the loads // and stores are accessing are correct (ie, the node has not been collapsed), // increment the appropriate counter. - Statistic<> NumTypedMemAccesses("numtypedmemaccesses", + Statistic NumTypedMemAccesses("numtypedmemaccesses", "Number of loads/stores which are fully typed"); - Statistic<> NumUntypedMemAccesses("numuntypedmemaccesses", + Statistic NumUntypedMemAccesses("numuntypedmemaccesses", "Number of loads/stores which are untyped"); class DSGraphStats : public FunctionPass, public InstVisitor { diff --git a/lib/Analysis/DataStructure/EquivClassGraphs.cpp b/lib/Analysis/DataStructure/EquivClassGraphs.cpp index 38aaf0b93c0..49c93ffc4f4 100644 --- a/lib/Analysis/DataStructure/EquivClassGraphs.cpp +++ b/lib/Analysis/DataStructure/EquivClassGraphs.cpp @@ -31,9 +31,9 @@ using namespace llvm; namespace { RegisterPass X("eqdatastructure", "Equivalence-class Bottom-up Data Structure Analysis"); - Statistic<> NumEquivBUInlines("equivdatastructures", + Statistic NumEquivBUInlines("equivdatastructures", "Number of graphs inlined"); - Statistic<> NumFoldGraphInlines("Inline equiv-class graphs bottom up", + Statistic NumFoldGraphInlines("Inline equiv-class graphs bottom up", "Number of graphs inlined"); } diff --git a/lib/Analysis/DataStructure/Printer.cpp b/lib/Analysis/DataStructure/Printer.cpp index af358bfbb33..2e86bda5486 100644 --- a/lib/Analysis/DataStructure/Printer.cpp +++ b/lib/Analysis/DataStructure/Printer.cpp @@ -33,8 +33,8 @@ using namespace llvm; namespace { cl::opt OnlyPrintMain("only-print-main-ds", cl::ReallyHidden); cl::opt DontPrintAnything("dont-print-ds", cl::ReallyHidden); - Statistic<> MaxGraphSize ("dsa", "Maximum graph size"); - Statistic<> NumFoldedNodes ("dsa", "Number of folded nodes (in final graph)"); + Statistic MaxGraphSize ("dsa", "Maximum graph size"); + Statistic NumFoldedNodes ("dsa", "Number of folded nodes (in final graph)"); } void DSNode::dump() const { print(llvm_cerr, 0); } diff --git a/lib/Analysis/DataStructure/TopDownClosure.cpp b/lib/Analysis/DataStructure/TopDownClosure.cpp index 57a8924ae47..71bf271a6eb 100644 --- a/lib/Analysis/DataStructure/TopDownClosure.cpp +++ b/lib/Analysis/DataStructure/TopDownClosure.cpp @@ -34,7 +34,7 @@ namespace { RegisterPass // Register the pass Y("tddatastructure", "Top-down Data Structure Analysis"); - Statistic<> NumTDInlines("tddatastructures", "Number of graphs inlined"); + Statistic NumTDInlines("tddatastructures", "Number of graphs inlined"); } void TDDataStructures::markReachableFunctionsExternallyAccessible(DSNode *N, diff --git a/lib/Analysis/IPA/Andersens.cpp b/lib/Analysis/IPA/Andersens.cpp index 54e2944b958..28875030416 100644 --- a/lib/Analysis/IPA/Andersens.cpp +++ b/lib/Analysis/IPA/Andersens.cpp @@ -65,15 +65,15 @@ using namespace llvm; namespace { - Statistic<> + Statistic NumIters("anders-aa", "Number of iterations to reach convergence"); - Statistic<> + Statistic NumConstraints("anders-aa", "Number of constraints"); - Statistic<> + Statistic NumNodes("anders-aa", "Number of nodes"); - Statistic<> + Statistic NumEscapingFunctions("anders-aa", "Number of internal functions that escape"); - Statistic<> + Statistic NumIndirectCallees("anders-aa", "Number of indirect callees found"); class Andersens : public ModulePass, public AliasAnalysis, diff --git a/lib/Analysis/IPA/GlobalsModRef.cpp b/lib/Analysis/IPA/GlobalsModRef.cpp index 59cf66f6c32..7ae5e5be350 100644 --- a/lib/Analysis/IPA/GlobalsModRef.cpp +++ b/lib/Analysis/IPA/GlobalsModRef.cpp @@ -30,19 +30,19 @@ using namespace llvm; namespace { - Statistic<> + Statistic NumNonAddrTakenGlobalVars("globalsmodref-aa", "Number of global vars without address taken"); - Statistic<> + Statistic NumNonAddrTakenFunctions("globalsmodref-aa", "Number of functions without address taken"); - Statistic<> + Statistic NumNoMemFunctions("globalsmodref-aa", "Number of functions that do not access memory"); - Statistic<> + Statistic NumReadMemFunctions("globalsmodref-aa", "Number of functions that only read memory"); - Statistic<> + Statistic NumIndirectGlobalVars("globalsmodref-aa", "Number of indirect global objects"); diff --git a/lib/Analysis/InstCount.cpp b/lib/Analysis/InstCount.cpp index 80f8bd88180..38f0bbaa9a7 100644 --- a/lib/Analysis/InstCount.cpp +++ b/lib/Analysis/InstCount.cpp @@ -21,13 +21,13 @@ using namespace llvm; namespace { - Statistic<> TotalInsts ("instcount", "Number of instructions (of all types)"); - Statistic<> TotalBlocks("instcount", "Number of basic blocks"); - Statistic<> TotalFuncs ("instcount", "Number of non-external functions"); - Statistic<> TotalMemInst("instcount", "Number of memory instructions"); + Statistic TotalInsts ("instcount", "Number of instructions (of all types)"); + Statistic TotalBlocks("instcount", "Number of basic blocks"); + Statistic TotalFuncs ("instcount", "Number of non-external functions"); + Statistic TotalMemInst("instcount", "Number of memory instructions"); #define HANDLE_INST(N, OPCODE, CLASS) \ - Statistic<> Num##OPCODE##Inst("instcount", "Number of " #OPCODE " insts"); + Statistic Num##OPCODE##Inst("instcount", "Number of " #OPCODE " insts"); #include "llvm/Instruction.def" diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index 6e6d302324f..ba903e01406 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -85,20 +85,20 @@ namespace { RegisterPass R("scalar-evolution", "Scalar Evolution Analysis"); - Statistic<> + Statistic NumBruteForceEvaluations("scalar-evolution", "Number of brute force evaluations needed to " "calculate high-order polynomial exit values"); - Statistic<> + Statistic NumArrayLenItCounts("scalar-evolution", "Number of trip counts computed with array length"); - Statistic<> + Statistic NumTripCountsComputed("scalar-evolution", "Number of loops with predictable loop counts"); - Statistic<> + Statistic NumTripCountsNotComputed("scalar-evolution", "Number of loops without predictable loop counts"); - Statistic<> + Statistic NumBruteForceTripCountsComputed("scalar-evolution", "Number of loops with trip counts computed by force"); diff --git a/lib/Bytecode/Writer/Writer.cpp b/lib/Bytecode/Writer/Writer.cpp index b8f57f7f72f..37c6321e33c 100644 --- a/lib/Bytecode/Writer/Writer.cpp +++ b/lib/Bytecode/Writer/Writer.cpp @@ -45,7 +45,7 @@ const unsigned BCVersionNum = 7; static RegisterPass X("emitbytecode", "Bytecode Writer"); -static Statistic<> +static Statistic BytesWritten("bytecodewriter", "Number of bytecode bytes written"); //===----------------------------------------------------------------------===// diff --git a/lib/CodeGen/BranchFolding.cpp b/lib/CodeGen/BranchFolding.cpp index 8ded3cdc64d..0dfa4928f99 100644 --- a/lib/CodeGen/BranchFolding.cpp +++ b/lib/CodeGen/BranchFolding.cpp @@ -30,9 +30,9 @@ #include using namespace llvm; -static Statistic<> NumDeadBlocks("branchfold", "Number of dead blocks removed"); -static Statistic<> NumBranchOpts("branchfold", "Number of branches optimized"); -static Statistic<> NumTailMerge ("branchfold", "Number of block tails merged"); +static Statistic NumDeadBlocks("branchfold", "Number of dead blocks removed"); +static Statistic NumBranchOpts("branchfold", "Number of branches optimized"); +static Statistic NumTailMerge ("branchfold", "Number of block tails merged"); static cl::opt EnableTailMerge("enable-tail-merge", cl::Hidden); namespace { diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp index 9248662e390..3bdbe855c37 100644 --- a/lib/CodeGen/LiveIntervalAnalysis.cpp +++ b/lib/CodeGen/LiveIntervalAnalysis.cpp @@ -39,19 +39,19 @@ using namespace llvm; namespace { RegisterPass X("liveintervals", "Live Interval Analysis"); - static Statistic<> numIntervals + static Statistic numIntervals ("liveintervals", "Number of original intervals"); - static Statistic<> numIntervalsAfter + static Statistic numIntervalsAfter ("liveintervals", "Number of intervals after coalescing"); - static Statistic<> numJoins + static Statistic numJoins ("liveintervals", "Number of interval joins performed"); - static Statistic<> numPeep + static Statistic numPeep ("liveintervals", "Number of identity moves eliminated after coalescing"); - static Statistic<> numFolded + static Statistic numFolded ("liveintervals", "Number of loads/stores folded into instructions"); static cl::opt diff --git a/lib/CodeGen/PHIElimination.cpp b/lib/CodeGen/PHIElimination.cpp index c107d1a317f..fec54eac373 100644 --- a/lib/CodeGen/PHIElimination.cpp +++ b/lib/CodeGen/PHIElimination.cpp @@ -29,8 +29,8 @@ using namespace llvm; namespace { - static Statistic<> NumAtomic("phielim", "Number of atomic phis lowered"); - static Statistic<> NumSimple("phielim", "Number of simple phis lowered"); + static Statistic NumAtomic("phielim", "Number of atomic phis lowered"); + static Statistic NumSimple("phielim", "Number of simple phis lowered"); struct VISIBILITY_HIDDEN PNE : public MachineFunctionPass { bool runOnMachineFunction(MachineFunction &Fn) { diff --git a/lib/CodeGen/RegAllocLinearScan.cpp b/lib/CodeGen/RegAllocLinearScan.cpp index 170febcc50b..1977a5489de 100644 --- a/lib/CodeGen/RegAllocLinearScan.cpp +++ b/lib/CodeGen/RegAllocLinearScan.cpp @@ -37,9 +37,9 @@ using namespace llvm; namespace { - static Statistic<> NumIters + static Statistic NumIters ("regalloc", "Number of iterations performed"); - static Statistic<> NumBacktracks + static Statistic NumBacktracks ("regalloc", "Number of times we had to backtrack"); static RegisterRegAlloc diff --git a/lib/CodeGen/RegAllocLocal.cpp b/lib/CodeGen/RegAllocLocal.cpp index 6090b4db13e..8d10ff703b0 100644 --- a/lib/CodeGen/RegAllocLocal.cpp +++ b/lib/CodeGen/RegAllocLocal.cpp @@ -33,9 +33,9 @@ using namespace llvm; namespace { - static Statistic<> NumStores("ra-local", "Number of stores added"); - static Statistic<> NumLoads ("ra-local", "Number of loads added"); - static Statistic<> NumFolded("ra-local", "Number of loads/stores folded " + static Statistic NumStores("ra-local", "Number of stores added"); + static Statistic NumLoads ("ra-local", "Number of loads added"); + static Statistic NumFolded("ra-local", "Number of loads/stores folded " "into instructions"); static RegisterRegAlloc diff --git a/lib/CodeGen/RegAllocSimple.cpp b/lib/CodeGen/RegAllocSimple.cpp index f08b039b82e..262f8c240e1 100644 --- a/lib/CodeGen/RegAllocSimple.cpp +++ b/lib/CodeGen/RegAllocSimple.cpp @@ -31,8 +31,8 @@ using namespace llvm; namespace { - static Statistic<> NumStores("ra-simple", "Number of stores added"); - static Statistic<> NumLoads ("ra-simple", "Number of loads added"); + static Statistic NumStores("ra-simple", "Number of stores added"); + static Statistic NumLoads ("ra-simple", "Number of loads added"); static RegisterRegAlloc simpleRegAlloc("simple", " simple register allocator", diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 99de15c9363..2f8ad80e5c6 100644 --- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -43,12 +43,12 @@ using namespace llvm; namespace { - static Statistic<> NodesCombined ("dagcombiner", + static Statistic NodesCombined ("dagcombiner", "Number of dag nodes combined"); - static Statistic<> PreIndexedNodes ("pre_indexed_ops", + static Statistic PreIndexedNodes ("pre_indexed_ops", "Number of pre-indexed nodes created"); - static Statistic<> PostIndexedNodes ("post_indexed_ops", + static Statistic PostIndexedNodes ("post_indexed_ops", "Number of post-indexed nodes created"); static cl::opt diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp index da8b1cddb8c..2d08cbabb5d 100644 --- a/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp +++ b/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp @@ -36,8 +36,8 @@ using namespace llvm; namespace { - static Statistic<> NumNoops ("scheduler", "Number of noops inserted"); - static Statistic<> NumStalls("scheduler", "Number of pipeline stalls"); + static Statistic NumNoops ("scheduler", "Number of noops inserted"); + static Statistic NumStalls("scheduler", "Number of pipeline stalls"); } static RegisterScheduler diff --git a/lib/CodeGen/TwoAddressInstructionPass.cpp b/lib/CodeGen/TwoAddressInstructionPass.cpp index 335a7e499cf..932542dd21d 100644 --- a/lib/CodeGen/TwoAddressInstructionPass.cpp +++ b/lib/CodeGen/TwoAddressInstructionPass.cpp @@ -45,11 +45,11 @@ using namespace llvm; namespace { - static Statistic<> NumTwoAddressInstrs("twoaddressinstruction", + static Statistic NumTwoAddressInstrs("twoaddressinstruction", "Number of two-address instructions"); - static Statistic<> NumCommuted("twoaddressinstruction", + static Statistic NumCommuted("twoaddressinstruction", "Number of instructions commuted to coalesce"); - static Statistic<> NumConvertedTo3Addr("twoaddressinstruction", + static Statistic NumConvertedTo3Addr("twoaddressinstruction", "Number of instructions promoted to 3-address"); struct VISIBILITY_HIDDEN TwoAddressInstructionPass diff --git a/lib/CodeGen/VirtRegMap.cpp b/lib/CodeGen/VirtRegMap.cpp index a79585609a8..359294d18e4 100644 --- a/lib/CodeGen/VirtRegMap.cpp +++ b/lib/CodeGen/VirtRegMap.cpp @@ -33,12 +33,12 @@ using namespace llvm; namespace { - static Statistic<> NumSpills("spiller", "Number of register spills"); - static Statistic<> NumStores("spiller", "Number of stores added"); - static Statistic<> NumLoads ("spiller", "Number of loads added"); - static Statistic<> NumReused("spiller", "Number of values reused"); - static Statistic<> NumDSE ("spiller", "Number of dead stores elided"); - static Statistic<> NumDCE ("spiller", "Number of copies elided"); + static Statistic NumSpills("spiller", "Number of register spills"); + static Statistic NumStores("spiller", "Number of stores added"); + static Statistic NumLoads ("spiller", "Number of loads added"); + static Statistic NumReused("spiller", "Number of values reused"); + static Statistic NumDSE ("spiller", "Number of dead stores elided"); + static Statistic NumDCE ("spiller", "Number of copies elided"); enum SpillerName { simple, local }; diff --git a/lib/ExecutionEngine/ExecutionEngine.cpp b/lib/ExecutionEngine/ExecutionEngine.cpp index 8447acf0e53..ff312f08a18 100644 --- a/lib/ExecutionEngine/ExecutionEngine.cpp +++ b/lib/ExecutionEngine/ExecutionEngine.cpp @@ -27,8 +27,8 @@ using namespace llvm; namespace { - Statistic<> NumInitBytes("lli", "Number of bytes of global vars initialized"); - Statistic<> NumGlobals ("lli", "Number of global vars initialized"); + Statistic NumInitBytes("lli", "Number of bytes of global vars initialized"); + Statistic NumGlobals ("lli", "Number of global vars initialized"); } ExecutionEngine::EECtorFn ExecutionEngine::JITCtor = 0; diff --git a/lib/ExecutionEngine/Interpreter/Execution.cpp b/lib/ExecutionEngine/Interpreter/Execution.cpp index fd5fb6f0bd3..964435d3802 100644 --- a/lib/ExecutionEngine/Interpreter/Execution.cpp +++ b/lib/ExecutionEngine/Interpreter/Execution.cpp @@ -24,7 +24,7 @@ using namespace llvm; namespace { - Statistic<> NumDynamicInsts("lli", "Number of dynamic instructions executed"); + Statistic NumDynamicInsts("lli", "Number of dynamic instructions executed"); Interpreter *TheEE = 0; } diff --git a/lib/ExecutionEngine/JIT/JITEmitter.cpp b/lib/ExecutionEngine/JIT/JITEmitter.cpp index e9b630b1b73..02113473a59 100644 --- a/lib/ExecutionEngine/JIT/JITEmitter.cpp +++ b/lib/ExecutionEngine/JIT/JITEmitter.cpp @@ -34,8 +34,8 @@ using namespace llvm; namespace { - Statistic<> NumBytes("jit", "Number of bytes of machine code compiled"); - Statistic<> NumRelos("jit", "Number of relocations applied"); + Statistic NumBytes("jit", "Number of bytes of machine code compiled"); + Statistic NumRelos("jit", "Number of relocations applied"); JIT *TheJIT = 0; } diff --git a/lib/Support/Statistic.cpp b/lib/Support/Statistic.cpp index 56bbfe9d7a9..cd516626361 100644 --- a/lib/Support/Statistic.cpp +++ b/lib/Support/Statistic.cpp @@ -15,7 +15,7 @@ // This is useful for reporting information like the number of instructions // simplified, optimized or removed by various transformations, like this: // -// static Statistic<> NumInstEliminated("GCSE - Number of instructions killed"); +// static Statistic NumInstEliminated("GCSE - Number of instructions killed"); // // Later, in the code: ++NumInstEliminated; // @@ -33,8 +33,6 @@ namespace llvm { extern std::ostream *GetLibSupportInfoOutputFile(); } unsigned StatisticBase::NumStats = 0; -TEMPLATE_INSTANTIATION(class Statistic); - // -stats - Command line option to cause transformations to emit stats about // what they did. // diff --git a/lib/Support/Timer.cpp b/lib/Support/Timer.cpp index 0c4f18f6307..a39f169cb7b 100644 --- a/lib/Support/Timer.cpp +++ b/lib/Support/Timer.cpp @@ -27,7 +27,7 @@ namespace llvm { extern std::ostream *GetLibSupportInfoOutputFile(); } // getLibSupportInfoOutputFilename - This ugly hack is brought to you courtesy // of constructor/destructor ordering being unspecified by C++. Basically the -// problem is that a Statistic<> object gets destroyed, which ends up calling +// problem is that a Statistic object gets destroyed, which ends up calling // 'GetLibSupportInfoOutputFile()' (below), which calls this function. // LibSupportInfoOutputFilename used to be a global variable, but sometimes it // would get destroyed before the Statistic, causing havoc to ensue. We "fix" diff --git a/lib/Target/ARM/ARMAsmPrinter.cpp b/lib/Target/ARM/ARMAsmPrinter.cpp index 5eadee20db1..617933c6bb2 100644 --- a/lib/Target/ARM/ARMAsmPrinter.cpp +++ b/lib/Target/ARM/ARMAsmPrinter.cpp @@ -35,7 +35,7 @@ using namespace llvm; namespace { - Statistic<> EmittedInsts("asm-printer", "Number of machine instrs printed"); + Statistic EmittedInsts("asm-printer", "Number of machine instrs printed"); static const char *ARMCondCodeToString(ARMCC::CondCodes CC) { switch (CC) { diff --git a/lib/Target/Alpha/AlphaAsmPrinter.cpp b/lib/Target/Alpha/AlphaAsmPrinter.cpp index 821d4324560..a9ba19845db 100644 --- a/lib/Target/Alpha/AlphaAsmPrinter.cpp +++ b/lib/Target/Alpha/AlphaAsmPrinter.cpp @@ -27,7 +27,7 @@ using namespace llvm; namespace { - Statistic<> EmittedInsts("asm-printer", "Number of machine instrs printed"); + Statistic EmittedInsts("asm-printer", "Number of machine instrs printed"); struct VISIBILITY_HIDDEN AlphaAsmPrinter : public AsmPrinter { diff --git a/lib/Target/Alpha/AlphaCodeEmitter.cpp b/lib/Target/Alpha/AlphaCodeEmitter.cpp index 15de348ee4e..884215e7930 100644 --- a/lib/Target/Alpha/AlphaCodeEmitter.cpp +++ b/lib/Target/Alpha/AlphaCodeEmitter.cpp @@ -27,7 +27,7 @@ using namespace llvm; namespace { - Statistic<> + Statistic NumEmitted("alpha-emitter", "Number of machine instructions emitted"); } diff --git a/lib/Target/Alpha/AlphaLLRP.cpp b/lib/Target/Alpha/AlphaLLRP.cpp index eb4867d6689..06d217b77bb 100644 --- a/lib/Target/Alpha/AlphaLLRP.cpp +++ b/lib/Target/Alpha/AlphaLLRP.cpp @@ -23,8 +23,8 @@ using namespace llvm; namespace { - Statistic<> nopintro("alpha-nops", "Number of nops inserted"); - Statistic<> nopalign("alpha-nops-align", + Statistic nopintro("alpha-nops", "Number of nops inserted"); + Statistic nopalign("alpha-nops-align", "Number of nops inserted for alignment"); cl::opt diff --git a/lib/Target/IA64/IA64AsmPrinter.cpp b/lib/Target/IA64/IA64AsmPrinter.cpp index edad61e23c4..b2f0f530975 100644 --- a/lib/Target/IA64/IA64AsmPrinter.cpp +++ b/lib/Target/IA64/IA64AsmPrinter.cpp @@ -30,7 +30,7 @@ using namespace llvm; namespace { - Statistic<> EmittedInsts("asm-printer", "Number of machine instrs printed"); + Statistic EmittedInsts("asm-printer", "Number of machine instrs printed"); struct IA64AsmPrinter : public AsmPrinter { std::set ExternalFunctionNames, ExternalObjectNames; diff --git a/lib/Target/IA64/IA64Bundling.cpp b/lib/Target/IA64/IA64Bundling.cpp index 808e7138a9c..0c4ae82529b 100644 --- a/lib/Target/IA64/IA64Bundling.cpp +++ b/lib/Target/IA64/IA64Bundling.cpp @@ -33,7 +33,7 @@ using namespace llvm; namespace { - Statistic<> StopBitsAdded("ia64-codegen", "Number of stop bits added"); + Statistic StopBitsAdded("ia64-codegen", "Number of stop bits added"); struct IA64BundlingPass : public MachineFunctionPass { /// Target machine description which we query for reg. names, data diff --git a/lib/Target/IA64/IA64ISelDAGToDAG.cpp b/lib/Target/IA64/IA64ISelDAGToDAG.cpp index 78a051b52f1..3f2669d52e0 100644 --- a/lib/Target/IA64/IA64ISelDAGToDAG.cpp +++ b/lib/Target/IA64/IA64ISelDAGToDAG.cpp @@ -33,8 +33,8 @@ using namespace llvm; namespace { - Statistic<> FusedFP ("ia64-codegen", "Number of fused fp operations"); - Statistic<> FrameOff("ia64-codegen", "Number of frame idx offsets collapsed"); + Statistic FusedFP ("ia64-codegen", "Number of fused fp operations"); + Statistic FrameOff("ia64-codegen", "Number of frame idx offsets collapsed"); //===--------------------------------------------------------------------===// /// IA64DAGToDAGISel - IA64 specific code to select IA64 machine diff --git a/lib/Target/PowerPC/PPCAsmPrinter.cpp b/lib/Target/PowerPC/PPCAsmPrinter.cpp index abbcc572555..65145e5a3b6 100644 --- a/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/lib/Target/PowerPC/PPCAsmPrinter.cpp @@ -46,7 +46,7 @@ using namespace llvm; namespace { - Statistic<> EmittedInsts("asm-printer", "Number of machine instrs printed"); + Statistic EmittedInsts("asm-printer", "Number of machine instrs printed"); struct VISIBILITY_HIDDEN PPCAsmPrinter : public AsmPrinter { std::set FnStubs, GVStubs; diff --git a/lib/Target/PowerPC/PPCBranchSelector.cpp b/lib/Target/PowerPC/PPCBranchSelector.cpp index edd2857921b..7a8b094bfff 100644 --- a/lib/Target/PowerPC/PPCBranchSelector.cpp +++ b/lib/Target/PowerPC/PPCBranchSelector.cpp @@ -27,7 +27,7 @@ #include "llvm/Support/MathExtras.h" using namespace llvm; -static Statistic<> NumExpanded("ppc-branch-select", +static Statistic NumExpanded("ppc-branch-select", "Num branches expanded to long format"); namespace { diff --git a/lib/Target/PowerPC/PPCISelDAGToDAG.cpp b/lib/Target/PowerPC/PPCISelDAGToDAG.cpp index 083bb2a1b01..1a3508e5ad6 100644 --- a/lib/Target/PowerPC/PPCISelDAGToDAG.cpp +++ b/lib/Target/PowerPC/PPCISelDAGToDAG.cpp @@ -36,7 +36,7 @@ using namespace llvm; namespace { - Statistic<> FrameOff("ppc-codegen", "Number of frame idx offsets collapsed"); + Statistic FrameOff("ppc-codegen", "Number of frame idx offsets collapsed"); //===--------------------------------------------------------------------===// /// PPCDAGToDAGISel - PPC specific code to select PPC machine diff --git a/lib/Target/Sparc/DelaySlotFiller.cpp b/lib/Target/Sparc/DelaySlotFiller.cpp index 715a373b937..768b79b9fb1 100644 --- a/lib/Target/Sparc/DelaySlotFiller.cpp +++ b/lib/Target/Sparc/DelaySlotFiller.cpp @@ -20,7 +20,7 @@ using namespace llvm; namespace { - Statistic<> FilledSlots("delayslotfiller", "Num. of delay slots filled"); + Statistic FilledSlots("delayslotfiller", "Num. of delay slots filled"); struct Filler : public MachineFunctionPass { /// Target machine description which we query for reg. names, data diff --git a/lib/Target/Sparc/FPMover.cpp b/lib/Target/Sparc/FPMover.cpp index 991e29d8a9e..2b24d991f04 100644 --- a/lib/Target/Sparc/FPMover.cpp +++ b/lib/Target/Sparc/FPMover.cpp @@ -23,8 +23,8 @@ using namespace llvm; namespace { - Statistic<> NumFpDs("fpmover", "Number of instructions translated"); - Statistic<> NoopFpDs("fpmover", "Number of noop instructions removed"); + Statistic NumFpDs("fpmover", "Number of instructions translated"); + Statistic NoopFpDs("fpmover", "Number of noop instructions removed"); struct FPMover : public MachineFunctionPass { /// Target machine description which we query for reg. names, data diff --git a/lib/Target/Sparc/SparcAsmPrinter.cpp b/lib/Target/Sparc/SparcAsmPrinter.cpp index 0b4fec9fc09..034c8f6967c 100644 --- a/lib/Target/Sparc/SparcAsmPrinter.cpp +++ b/lib/Target/Sparc/SparcAsmPrinter.cpp @@ -34,7 +34,7 @@ using namespace llvm; namespace { - Statistic<> EmittedInsts("asm-printer", "Number of machine instrs printed"); + Statistic EmittedInsts("asm-printer", "Number of machine instrs printed"); struct VISIBILITY_HIDDEN SparcAsmPrinter : public AsmPrinter { SparcAsmPrinter(std::ostream &O, TargetMachine &TM, const TargetAsmInfo *T) diff --git a/lib/Target/X86/X86AsmPrinter.cpp b/lib/Target/X86/X86AsmPrinter.cpp index 722697527c3..85a1cb64248 100644 --- a/lib/Target/X86/X86AsmPrinter.cpp +++ b/lib/Target/X86/X86AsmPrinter.cpp @@ -30,7 +30,7 @@ using namespace llvm; -Statistic<> llvm::EmittedInsts("asm-printer", +Statistic llvm::EmittedInsts("asm-printer", "Number of machine instrs printed"); static X86FunctionInfo calculateFunctionInfo(const Function *F, diff --git a/lib/Target/X86/X86AsmPrinter.h b/lib/Target/X86/X86AsmPrinter.h index 8dad733bb28..da7c053eef5 100755 --- a/lib/Target/X86/X86AsmPrinter.h +++ b/lib/Target/X86/X86AsmPrinter.h @@ -28,7 +28,7 @@ namespace llvm { -extern Statistic<> EmittedInsts; +extern Statistic EmittedInsts; // FIXME: Move this to CodeGen/AsmPrinter.h namespace PICStyle { diff --git a/lib/Target/X86/X86CodeEmitter.cpp b/lib/Target/X86/X86CodeEmitter.cpp index fce507514d7..dbbd66f491b 100644 --- a/lib/Target/X86/X86CodeEmitter.cpp +++ b/lib/Target/X86/X86CodeEmitter.cpp @@ -29,7 +29,7 @@ using namespace llvm; namespace { - Statistic<> + Statistic NumEmitted("x86-emitter", "Number of machine instructions emitted"); } diff --git a/lib/Target/X86/X86FloatingPoint.cpp b/lib/Target/X86/X86FloatingPoint.cpp index 1d665a423d1..75321273a03 100644 --- a/lib/Target/X86/X86FloatingPoint.cpp +++ b/lib/Target/X86/X86FloatingPoint.cpp @@ -49,8 +49,8 @@ using namespace llvm; namespace { - Statistic<> NumFXCH("x86-codegen", "Number of fxch instructions inserted"); - Statistic<> NumFP ("x86-codegen", "Number of floating point instructions"); + Statistic NumFXCH("x86-codegen", "Number of fxch instructions inserted"); + Statistic NumFP ("x86-codegen", "Number of floating point instructions"); struct VISIBILITY_HIDDEN FPS : public MachineFunctionPass { virtual bool runOnMachineFunction(MachineFunction &MF); diff --git a/lib/Target/X86/X86ISelDAGToDAG.cpp b/lib/Target/X86/X86ISelDAGToDAG.cpp index 6d0f54933da..4f84327fdd9 100644 --- a/lib/Target/X86/X86ISelDAGToDAG.cpp +++ b/lib/Target/X86/X86ISelDAGToDAG.cpp @@ -76,10 +76,10 @@ namespace { } namespace { - Statistic<> + Statistic NumFPKill("x86-codegen", "Number of FP_REG_KILL instructions added"); - Statistic<> + Statistic NumLoadMoved("x86-codegen", "Number of loads moved below TokenFactor"); //===--------------------------------------------------------------------===// diff --git a/lib/Transforms/Hello/Hello.cpp b/lib/Transforms/Hello/Hello.cpp index a91360f962d..8324cbb6cb7 100644 --- a/lib/Transforms/Hello/Hello.cpp +++ b/lib/Transforms/Hello/Hello.cpp @@ -21,7 +21,7 @@ using namespace llvm; namespace { - Statistic<> HelloCounter("hellocount", + Statistic HelloCounter("hellocount", "Counts number of functions greeted"); // Hello - The first implementation, without getAnalysisUsage. struct Hello : public FunctionPass { diff --git a/lib/Transforms/IPO/ArgumentPromotion.cpp b/lib/Transforms/IPO/ArgumentPromotion.cpp index e9841697a78..2a06310065b 100644 --- a/lib/Transforms/IPO/ArgumentPromotion.cpp +++ b/lib/Transforms/IPO/ArgumentPromotion.cpp @@ -48,11 +48,11 @@ using namespace llvm; namespace { - Statistic<> NumArgumentsPromoted("argpromotion", + Statistic NumArgumentsPromoted("argpromotion", "Number of pointer arguments promoted"); - Statistic<> NumAggregatesPromoted("argpromotion", + Statistic NumAggregatesPromoted("argpromotion", "Number of aggregate arguments promoted"); - Statistic<> NumArgumentsDead("argpromotion", + Statistic NumArgumentsDead("argpromotion", "Number of dead pointer args eliminated"); /// ArgPromotion - The 'by reference' to 'by value' argument promotion pass. diff --git a/lib/Transforms/IPO/ConstantMerge.cpp b/lib/Transforms/IPO/ConstantMerge.cpp index aca42fe23be..7ba7b32a7e3 100644 --- a/lib/Transforms/IPO/ConstantMerge.cpp +++ b/lib/Transforms/IPO/ConstantMerge.cpp @@ -24,7 +24,7 @@ using namespace llvm; namespace { - Statistic<> NumMerged("constmerge", "Number of global constants merged"); + Statistic NumMerged("constmerge", "Number of global constants merged"); struct ConstantMerge : public ModulePass { // run - For this pass, process all of the globals in the module, diff --git a/lib/Transforms/IPO/DeadArgumentElimination.cpp b/lib/Transforms/IPO/DeadArgumentElimination.cpp index 77ac8737b08..d3326ac71f8 100644 --- a/lib/Transforms/IPO/DeadArgumentElimination.cpp +++ b/lib/Transforms/IPO/DeadArgumentElimination.cpp @@ -33,9 +33,9 @@ using namespace llvm; namespace { - Statistic<> NumArgumentsEliminated("deadargelim", + Statistic NumArgumentsEliminated("deadargelim", "Number of unread args removed"); - Statistic<> NumRetValsEliminated("deadargelim", + Statistic NumRetValsEliminated("deadargelim", "Number of unused return values removed"); /// DAE - The dead argument elimination pass. diff --git a/lib/Transforms/IPO/DeadTypeElimination.cpp b/lib/Transforms/IPO/DeadTypeElimination.cpp index 57e5fa31097..e30e0ed38c4 100644 --- a/lib/Transforms/IPO/DeadTypeElimination.cpp +++ b/lib/Transforms/IPO/DeadTypeElimination.cpp @@ -37,7 +37,7 @@ namespace { } }; RegisterPass X("deadtypeelim", "Dead Type Elimination"); - Statistic<> + Statistic NumKilled("deadtypeelim", "Number of unused typenames removed from symtab"); } diff --git a/lib/Transforms/IPO/FunctionResolution.cpp b/lib/Transforms/IPO/FunctionResolution.cpp index a514b92b5ff..de3fe5ba879 100644 --- a/lib/Transforms/IPO/FunctionResolution.cpp +++ b/lib/Transforms/IPO/FunctionResolution.cpp @@ -33,8 +33,8 @@ using namespace llvm; namespace { - Statistic<>NumResolved("funcresolve", "Number of varargs functions resolved"); - Statistic<> NumGlobals("funcresolve", "Number of global variables resolved"); + Statistic NumResolved("funcresolve", "Number of varargs functions resolved"); + Statistic NumGlobals("funcresolve", "Number of global variables resolved"); struct FunctionResolvingPass : public ModulePass { virtual void getAnalysisUsage(AnalysisUsage &AU) const { diff --git a/lib/Transforms/IPO/GlobalDCE.cpp b/lib/Transforms/IPO/GlobalDCE.cpp index 07296cfa5e4..ac23760bf20 100644 --- a/lib/Transforms/IPO/GlobalDCE.cpp +++ b/lib/Transforms/IPO/GlobalDCE.cpp @@ -24,8 +24,8 @@ using namespace llvm; namespace { - Statistic<> NumFunctions("globaldce","Number of functions removed"); - Statistic<> NumVariables("globaldce","Number of global variables removed"); + Statistic NumFunctions("globaldce","Number of functions removed"); + Statistic NumVariables("globaldce","Number of global variables removed"); struct GlobalDCE : public ModulePass { // run - Do the GlobalDCE pass on the specified module, optionally updating diff --git a/lib/Transforms/IPO/GlobalOpt.cpp b/lib/Transforms/IPO/GlobalOpt.cpp index af3bf6a887c..a0dc9373d66 100644 --- a/lib/Transforms/IPO/GlobalOpt.cpp +++ b/lib/Transforms/IPO/GlobalOpt.cpp @@ -32,21 +32,21 @@ using namespace llvm; namespace { - Statistic<> NumMarked ("globalopt", "Number of globals marked constant"); - Statistic<> NumSRA ("globalopt", "Number of aggregate globals broken " + Statistic NumMarked ("globalopt", "Number of globals marked constant"); + Statistic NumSRA ("globalopt", "Number of aggregate globals broken " "into scalars"); - Statistic<> NumHeapSRA ("globalopt", "Number of heap objects SRA'd"); - Statistic<> NumSubstitute("globalopt", + Statistic NumHeapSRA ("globalopt", "Number of heap objects SRA'd"); + Statistic NumSubstitute("globalopt", "Number of globals with initializers stored into them"); - Statistic<> NumDeleted ("globalopt", "Number of globals deleted"); - Statistic<> NumFnDeleted("globalopt", "Number of functions deleted"); - Statistic<> NumGlobUses ("globalopt", "Number of global uses devirtualized"); - Statistic<> NumLocalized("globalopt", "Number of globals localized"); - Statistic<> NumShrunkToBool("globalopt", + Statistic NumDeleted ("globalopt", "Number of globals deleted"); + Statistic NumFnDeleted("globalopt", "Number of functions deleted"); + Statistic NumGlobUses ("globalopt", "Number of global uses devirtualized"); + Statistic NumLocalized("globalopt", "Number of globals localized"); + Statistic NumShrunkToBool("globalopt", "Number of global vars shrunk to booleans"); - Statistic<> NumFastCallFns("globalopt", + Statistic NumFastCallFns("globalopt", "Number of functions converted to fastcc"); - Statistic<> NumCtorsEvaluated("globalopt","Number of static ctors evaluated"); + Statistic NumCtorsEvaluated("globalopt","Number of static ctors evaluated"); struct GlobalOpt : public ModulePass { virtual void getAnalysisUsage(AnalysisUsage &AU) const { diff --git a/lib/Transforms/IPO/IPConstantPropagation.cpp b/lib/Transforms/IPO/IPConstantPropagation.cpp index 4713fb6aea3..3f673ae85ea 100644 --- a/lib/Transforms/IPO/IPConstantPropagation.cpp +++ b/lib/Transforms/IPO/IPConstantPropagation.cpp @@ -25,9 +25,9 @@ using namespace llvm; namespace { - Statistic<> NumArgumentsProped("ipconstprop", + Statistic NumArgumentsProped("ipconstprop", "Number of args turned into constants"); - Statistic<> NumReturnValProped("ipconstprop", + Statistic NumReturnValProped("ipconstprop", "Number of return values turned into constants"); /// IPCP - The interprocedural constant propagation pass diff --git a/lib/Transforms/IPO/IndMemRemoval.cpp b/lib/Transforms/IPO/IndMemRemoval.cpp index 0779a5414f5..9d3c147a1f6 100644 --- a/lib/Transforms/IPO/IndMemRemoval.cpp +++ b/lib/Transforms/IPO/IndMemRemoval.cpp @@ -28,8 +28,8 @@ using namespace llvm; namespace { - Statistic<> NumBounceSites("indmemrem", "Number of sites modified"); - Statistic<> NumBounce ("indmemrem", "Number of bounce functions created"); + Statistic NumBounceSites("indmemrem", "Number of sites modified"); + Statistic NumBounce ("indmemrem", "Number of bounce functions created"); class IndMemRemPass : public ModulePass { diff --git a/lib/Transforms/IPO/Inliner.cpp b/lib/Transforms/IPO/Inliner.cpp index ea43dc21da3..bd5fb98416d 100644 --- a/lib/Transforms/IPO/Inliner.cpp +++ b/lib/Transforms/IPO/Inliner.cpp @@ -26,8 +26,8 @@ using namespace llvm; namespace { - Statistic<> NumInlined("inline", "Number of functions inlined"); - Statistic<> NumDeleted("inline", + Statistic NumInlined("inline", "Number of functions inlined"); + Statistic NumDeleted("inline", "Number of functions deleted because all callers found"); cl::opt // FIXME: 200 is VERY conservative InlineLimit("inline-threshold", cl::Hidden, cl::init(200), diff --git a/lib/Transforms/IPO/Internalize.cpp b/lib/Transforms/IPO/Internalize.cpp index c19e2f2b99c..3e7dcc67ae9 100644 --- a/lib/Transforms/IPO/Internalize.cpp +++ b/lib/Transforms/IPO/Internalize.cpp @@ -24,8 +24,8 @@ using namespace llvm; namespace { - Statistic<> NumFunctions("internalize", "Number of functions internalized"); - Statistic<> NumGlobals ("internalize", "Number of global vars internalized"); + Statistic NumFunctions("internalize", "Number of functions internalized"); + Statistic NumGlobals ("internalize", "Number of global vars internalized"); // APIFile - A file which contains a list of symbols that should not be marked // external. diff --git a/lib/Transforms/IPO/LoopExtractor.cpp b/lib/Transforms/IPO/LoopExtractor.cpp index a4ce585ef9a..f77f9f32576 100644 --- a/lib/Transforms/IPO/LoopExtractor.cpp +++ b/lib/Transforms/IPO/LoopExtractor.cpp @@ -26,7 +26,7 @@ using namespace llvm; namespace { - Statistic<> NumExtracted("loop-extract", "Number of loops extracted"); + Statistic NumExtracted("loop-extract", "Number of loops extracted"); // FIXME: This is not a function pass, but the PassManager doesn't allow // Module passes to require FunctionPasses, so we can't get loop info if we're diff --git a/lib/Transforms/IPO/LowerSetJmp.cpp b/lib/Transforms/IPO/LowerSetJmp.cpp index 3aac3920914..0417a5cc274 100644 --- a/lib/Transforms/IPO/LowerSetJmp.cpp +++ b/lib/Transforms/IPO/LowerSetJmp.cpp @@ -50,13 +50,13 @@ using namespace llvm; namespace { - Statistic<> LongJmpsTransformed("lowersetjmp", + Statistic LongJmpsTransformed("lowersetjmp", "Number of longjmps transformed"); - Statistic<> SetJmpsTransformed("lowersetjmp", + Statistic SetJmpsTransformed("lowersetjmp", "Number of setjmps transformed"); - Statistic<> CallsTransformed("lowersetjmp", + Statistic CallsTransformed("lowersetjmp", "Number of calls invokified"); - Statistic<> InvokesTransformed("lowersetjmp", + Statistic InvokesTransformed("lowersetjmp", "Number of invokes modified"); //===--------------------------------------------------------------------===// diff --git a/lib/Transforms/IPO/PruneEH.cpp b/lib/Transforms/IPO/PruneEH.cpp index 8ba0ac04023..1dec7d70470 100644 --- a/lib/Transforms/IPO/PruneEH.cpp +++ b/lib/Transforms/IPO/PruneEH.cpp @@ -28,8 +28,8 @@ using namespace llvm; namespace { - Statistic<> NumRemoved("prune-eh", "Number of invokes removed"); - Statistic<> NumUnreach("prune-eh", "Number of noreturn calls optimized"); + Statistic NumRemoved("prune-eh", "Number of invokes removed"); + Statistic NumUnreach("prune-eh", "Number of noreturn calls optimized"); struct PruneEH : public CallGraphSCCPass { /// DoesNotUnwind - This set contains all of the functions which we have diff --git a/lib/Transforms/IPO/RaiseAllocations.cpp b/lib/Transforms/IPO/RaiseAllocations.cpp index 584a2e98b09..77a9a3d57ea 100644 --- a/lib/Transforms/IPO/RaiseAllocations.cpp +++ b/lib/Transforms/IPO/RaiseAllocations.cpp @@ -23,7 +23,7 @@ using namespace llvm; namespace { - Statistic<> NumRaised("raiseallocs", "Number of allocations raised"); + Statistic NumRaised("raiseallocs", "Number of allocations raised"); // RaiseAllocations - Turn %malloc and %free calls into the appropriate // instruction. diff --git a/lib/Transforms/IPO/SimplifyLibCalls.cpp b/lib/Transforms/IPO/SimplifyLibCalls.cpp index fb22a2f1394..f989d1dd162 100644 --- a/lib/Transforms/IPO/SimplifyLibCalls.cpp +++ b/lib/Transforms/IPO/SimplifyLibCalls.cpp @@ -35,7 +35,7 @@ namespace { /// This statistic keeps track of the total number of library calls that have /// been simplified regardless of which call it is. -Statistic<> SimplifiedLibCalls("simplify-libcalls", +Statistic SimplifiedLibCalls("simplify-libcalls", "Number of library calls simplified"); // Forward declarations @@ -68,7 +68,7 @@ class LibCallOptimization { LibCallOptimization **Prev, *Next; const char *FunctionName; ///< Name of the library call we optimize #ifndef NDEBUG - Statistic<> occurrences; ///< debug statistic (-debug-only=simplify-libcalls) + Statistic occurrences; ///< debug statistic (-debug-only=simplify-libcalls) #endif public: /// The \p fname argument must be the name of the library function being diff --git a/lib/Transforms/Instrumentation/RSProfiling.cpp b/lib/Transforms/Instrumentation/RSProfiling.cpp index 4c6f264b3bb..c14915c9a53 100644 --- a/lib/Transforms/Instrumentation/RSProfiling.cpp +++ b/lib/Transforms/Instrumentation/RSProfiling.cpp @@ -52,7 +52,7 @@ using namespace llvm; namespace { - Statistic<> NumBackEdges("bedge", "Number of BackEdges"); + Statistic NumBackEdges("bedge", "Number of BackEdges"); enum RandomMeth { GBV, GBVO, HOSTCC diff --git a/lib/Transforms/LevelRaise.cpp b/lib/Transforms/LevelRaise.cpp index c8635e181fe..56622693a25 100644 --- a/lib/Transforms/LevelRaise.cpp +++ b/lib/Transforms/LevelRaise.cpp @@ -34,22 +34,22 @@ static cl::opt StartInst("raise-start-inst", cl::Hidden, cl::value_desc("inst name"), cl::desc("Start raise pass at the instruction with the specified name")); -static Statistic<> +static Statistic NumLoadStorePeepholes("raise", "Number of load/store peepholes"); -static Statistic<> +static Statistic NumGEPInstFormed("raise", "Number of other getelementptr's formed"); -static Statistic<> +static Statistic NumExprTreesConv("raise", "Number of expression trees converted"); -static Statistic<> +static Statistic NumCastOfCast("raise", "Number of cast-of-self removed"); -static Statistic<> +static Statistic NumDCEorCP("raise", "Number of insts DCEd or constprop'd"); -static Statistic<> +static Statistic NumVarargCallChanges("raise", "Number of vararg call peepholes"); #define PRINT_PEEPHOLE(ID, NUM, I) \ diff --git a/lib/Transforms/Scalar/ADCE.cpp b/lib/Transforms/Scalar/ADCE.cpp index 76a09f80e48..536b61f1080 100644 --- a/lib/Transforms/Scalar/ADCE.cpp +++ b/lib/Transforms/Scalar/ADCE.cpp @@ -30,9 +30,9 @@ using namespace llvm; namespace { - Statistic<> NumBlockRemoved("adce", "Number of basic blocks removed"); - Statistic<> NumInstRemoved ("adce", "Number of instructions removed"); - Statistic<> NumCallRemoved ("adce", "Number of calls and invokes removed"); + Statistic NumBlockRemoved("adce", "Number of basic blocks removed"); + Statistic NumInstRemoved ("adce", "Number of instructions removed"); + Statistic NumCallRemoved ("adce", "Number of calls and invokes removed"); //===----------------------------------------------------------------------===// // ADCE Class diff --git a/lib/Transforms/Scalar/BasicBlockPlacement.cpp b/lib/Transforms/Scalar/BasicBlockPlacement.cpp index 492fba2bb43..135d6b31d37 100644 --- a/lib/Transforms/Scalar/BasicBlockPlacement.cpp +++ b/lib/Transforms/Scalar/BasicBlockPlacement.cpp @@ -36,7 +36,7 @@ using namespace llvm; namespace { - Statistic<> NumMoved("block-placement", "Number of basic blocks moved"); + Statistic NumMoved("block-placement", "Number of basic blocks moved"); struct BlockPlacement : public FunctionPass { virtual bool runOnFunction(Function &F); diff --git a/lib/Transforms/Scalar/CondPropagate.cpp b/lib/Transforms/Scalar/CondPropagate.cpp index 39f699aafe4..4e076145f76 100644 --- a/lib/Transforms/Scalar/CondPropagate.cpp +++ b/lib/Transforms/Scalar/CondPropagate.cpp @@ -26,9 +26,9 @@ using namespace llvm; namespace { - Statistic<> + Statistic NumBrThread("condprop", "Number of CFG edges threaded through branches"); - Statistic<> + Statistic NumSwThread("condprop", "Number of CFG edges threaded through switches"); struct CondProp : public FunctionPass { diff --git a/lib/Transforms/Scalar/ConstantProp.cpp b/lib/Transforms/Scalar/ConstantProp.cpp index 8f3baf913c0..54ccccce7c1 100644 --- a/lib/Transforms/Scalar/ConstantProp.cpp +++ b/lib/Transforms/Scalar/ConstantProp.cpp @@ -29,7 +29,7 @@ using namespace llvm; namespace { - Statistic<> NumInstKilled("constprop", "Number of instructions killed"); + Statistic NumInstKilled("constprop", "Number of instructions killed"); struct ConstantPropagation : public FunctionPass { bool runOnFunction(Function &F); diff --git a/lib/Transforms/Scalar/CorrelatedExprs.cpp b/lib/Transforms/Scalar/CorrelatedExprs.cpp index 347700792ab..9024f1caf9a 100644 --- a/lib/Transforms/Scalar/CorrelatedExprs.cpp +++ b/lib/Transforms/Scalar/CorrelatedExprs.cpp @@ -46,9 +46,9 @@ using namespace llvm; namespace { - Statistic<> NumSetCCRemoved("cee", "Number of setcc instruction eliminated"); - Statistic<> NumOperandsCann("cee", "Number of operands canonicalized"); - Statistic<> BranchRevectors("cee", "Number of branches revectored"); + Statistic NumSetCCRemoved("cee", "Number of setcc instruction eliminated"); + Statistic NumOperandsCann("cee", "Number of operands canonicalized"); + Statistic BranchRevectors("cee", "Number of branches revectored"); class ValueInfo; class Relation { diff --git a/lib/Transforms/Scalar/DCE.cpp b/lib/Transforms/Scalar/DCE.cpp index a4a1104e924..3304527d1eb 100644 --- a/lib/Transforms/Scalar/DCE.cpp +++ b/lib/Transforms/Scalar/DCE.cpp @@ -26,8 +26,8 @@ using namespace llvm; namespace { - Statistic<> DIEEliminated("die", "Number of insts removed"); - Statistic<> DCEEliminated("dce", "Number of insts removed"); + Statistic DIEEliminated("die", "Number of insts removed"); + Statistic DCEEliminated("dce", "Number of insts removed"); //===--------------------------------------------------------------------===// // DeadInstElimination pass implementation diff --git a/lib/Transforms/Scalar/DeadStoreElimination.cpp b/lib/Transforms/Scalar/DeadStoreElimination.cpp index 6684b21f99a..8057ebdc727 100644 --- a/lib/Transforms/Scalar/DeadStoreElimination.cpp +++ b/lib/Transforms/Scalar/DeadStoreElimination.cpp @@ -28,8 +28,8 @@ using namespace llvm; namespace { - Statistic<> NumStores("dse", "Number of stores deleted"); - Statistic<> NumOther ("dse", "Number of other instrs removed"); + Statistic NumStores("dse", "Number of stores deleted"); + Statistic NumOther ("dse", "Number of other instrs removed"); struct DSE : public FunctionPass { diff --git a/lib/Transforms/Scalar/GCSE.cpp b/lib/Transforms/Scalar/GCSE.cpp index 7dbdf0ab96a..a6d57ce26b8 100644 --- a/lib/Transforms/Scalar/GCSE.cpp +++ b/lib/Transforms/Scalar/GCSE.cpp @@ -28,12 +28,12 @@ using namespace llvm; namespace { - Statistic<> NumInstRemoved("gcse", "Number of instructions removed"); - Statistic<> NumLoadRemoved("gcse", "Number of loads removed"); - Statistic<> NumCallRemoved("gcse", "Number of calls removed"); - Statistic<> NumNonInsts ("gcse", "Number of instructions removed due " + Statistic NumInstRemoved("gcse", "Number of instructions removed"); + Statistic NumLoadRemoved("gcse", "Number of loads removed"); + Statistic NumCallRemoved("gcse", "Number of calls removed"); + Statistic NumNonInsts ("gcse", "Number of instructions removed due " "to non-instruction values"); - Statistic<> NumArgsRepl ("gcse", "Number of function arguments replaced " + Statistic NumArgsRepl ("gcse", "Number of function arguments replaced " "with constant values"); struct GCSE : public FunctionPass { diff --git a/lib/Transforms/Scalar/IndVarSimplify.cpp b/lib/Transforms/Scalar/IndVarSimplify.cpp index cd674ae4b60..e17faa1d37c 100644 --- a/lib/Transforms/Scalar/IndVarSimplify.cpp +++ b/lib/Transforms/Scalar/IndVarSimplify.cpp @@ -52,11 +52,11 @@ using namespace llvm; namespace { - Statistic<> NumRemoved ("indvars", "Number of aux indvars removed"); - Statistic<> NumPointer ("indvars", "Number of pointer indvars promoted"); - Statistic<> NumInserted("indvars", "Number of canonical indvars added"); - Statistic<> NumReplaced("indvars", "Number of exit values replaced"); - Statistic<> NumLFTR ("indvars", "Number of loop exit tests replaced"); + Statistic NumRemoved ("indvars", "Number of aux indvars removed"); + Statistic NumPointer ("indvars", "Number of pointer indvars promoted"); + Statistic NumInserted("indvars", "Number of canonical indvars added"); + Statistic NumReplaced("indvars", "Number of exit values replaced"); + Statistic NumLFTR ("indvars", "Number of loop exit tests replaced"); class IndVarSimplify : public FunctionPass { LoopInfo *LI; diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index b12c6b58414..de11c52d496 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -56,11 +56,11 @@ using namespace llvm; using namespace llvm::PatternMatch; namespace { - Statistic<> NumCombined ("instcombine", "Number of insts combined"); - Statistic<> NumConstProp("instcombine", "Number of constant folds"); - Statistic<> NumDeadInst ("instcombine", "Number of dead inst eliminated"); - Statistic<> NumDeadStore("instcombine", "Number of dead stores eliminated"); - Statistic<> NumSunkInst ("instcombine", "Number of instructions sunk"); + Statistic NumCombined ("instcombine", "Number of insts combined"); + Statistic NumConstProp("instcombine", "Number of constant folds"); + Statistic NumDeadInst ("instcombine", "Number of dead inst eliminated"); + Statistic NumDeadStore("instcombine", "Number of dead stores eliminated"); + Statistic NumSunkInst ("instcombine", "Number of instructions sunk"); class VISIBILITY_HIDDEN InstCombiner : public FunctionPass, diff --git a/lib/Transforms/Scalar/LICM.cpp b/lib/Transforms/Scalar/LICM.cpp index 5816e5c700a..4783388f3dc 100644 --- a/lib/Transforms/Scalar/LICM.cpp +++ b/lib/Transforms/Scalar/LICM.cpp @@ -54,11 +54,11 @@ namespace { DisablePromotion("disable-licm-promotion", cl::Hidden, cl::desc("Disable memory promotion in LICM pass")); - Statistic<> NumSunk("licm", "Number of instructions sunk out of loop"); - Statistic<> NumHoisted("licm", "Number of instructions hoisted out of loop"); - Statistic<> NumMovedLoads("licm", "Number of load insts hoisted or sunk"); - Statistic<> NumMovedCalls("licm", "Number of call insts hoisted or sunk"); - Statistic<> NumPromoted("licm", + Statistic NumSunk("licm", "Number of instructions sunk out of loop"); + Statistic NumHoisted("licm", "Number of instructions hoisted out of loop"); + Statistic NumMovedLoads("licm", "Number of load insts hoisted or sunk"); + Statistic NumMovedCalls("licm", "Number of call insts hoisted or sunk"); + Statistic NumPromoted("licm", "Number of memory locations promoted to registers"); struct LICM : public FunctionPass { diff --git a/lib/Transforms/Scalar/LoopStrengthReduce.cpp b/lib/Transforms/Scalar/LoopStrengthReduce.cpp index f6551ee076f..a262cf79fb5 100644 --- a/lib/Transforms/Scalar/LoopStrengthReduce.cpp +++ b/lib/Transforms/Scalar/LoopStrengthReduce.cpp @@ -38,9 +38,9 @@ using namespace llvm; namespace { - Statistic<> NumReduced ("loop-reduce", "Number of GEPs strength reduced"); - Statistic<> NumInserted("loop-reduce", "Number of PHIs inserted"); - Statistic<> NumVariable("loop-reduce","Number of PHIs with variable strides"); + Statistic NumReduced ("loop-reduce", "Number of GEPs strength reduced"); + Statistic NumInserted("loop-reduce", "Number of PHIs inserted"); + Statistic NumVariable("loop-reduce","Number of PHIs with variable strides"); /// IVStrideUse - Keep track of one use of a strided induction variable, where /// the stride is stored externally. The Offset member keeps track of the diff --git a/lib/Transforms/Scalar/LoopUnroll.cpp b/lib/Transforms/Scalar/LoopUnroll.cpp index 9d14891e49f..45a48994174 100644 --- a/lib/Transforms/Scalar/LoopUnroll.cpp +++ b/lib/Transforms/Scalar/LoopUnroll.cpp @@ -37,7 +37,7 @@ using namespace llvm; namespace { - Statistic<> NumUnrolled("loop-unroll", "Number of loops completely unrolled"); + Statistic NumUnrolled("loop-unroll", "Number of loops completely unrolled"); cl::opt UnrollThreshold("unroll-threshold", cl::init(100), cl::Hidden, diff --git a/lib/Transforms/Scalar/LoopUnswitch.cpp b/lib/Transforms/Scalar/LoopUnswitch.cpp index 8b2f6cfc5eb..3079ce92b55 100644 --- a/lib/Transforms/Scalar/LoopUnswitch.cpp +++ b/lib/Transforms/Scalar/LoopUnswitch.cpp @@ -44,12 +44,12 @@ using namespace llvm; namespace { - Statistic<> NumBranches("loop-unswitch", "Number of branches unswitched"); - Statistic<> NumSwitches("loop-unswitch", "Number of switches unswitched"); - Statistic<> NumSelects ("loop-unswitch", "Number of selects unswitched"); - Statistic<> NumTrivial ("loop-unswitch", + Statistic NumBranches("loop-unswitch", "Number of branches unswitched"); + Statistic NumSwitches("loop-unswitch", "Number of switches unswitched"); + Statistic NumSelects ("loop-unswitch", "Number of selects unswitched"); + Statistic NumTrivial ("loop-unswitch", "Number of unswitches that are trivial"); - Statistic<> NumSimplify("loop-unswitch", + Statistic NumSimplify("loop-unswitch", "Number of simplifications of unswitched code"); cl::opt Threshold("loop-unswitch-threshold", cl::desc("Max loop size to unswitch"), diff --git a/lib/Transforms/Scalar/PredicateSimplifier.cpp b/lib/Transforms/Scalar/PredicateSimplifier.cpp index 7d0a40456f5..55e8579444c 100644 --- a/lib/Transforms/Scalar/PredicateSimplifier.cpp +++ b/lib/Transforms/Scalar/PredicateSimplifier.cpp @@ -93,11 +93,11 @@ using namespace llvm; namespace { - Statistic<> + Statistic NumVarsReplaced("predsimplify", "Number of argument substitutions"); - Statistic<> + Statistic NumInstruction("predsimplify", "Number of instructions removed"); - Statistic<> + Statistic NumSimple("predsimplify", "Number of simple replacements"); /// The InequalityGraph stores the relationships between values. diff --git a/lib/Transforms/Scalar/Reassociate.cpp b/lib/Transforms/Scalar/Reassociate.cpp index b0637ba3e5a..09f274818b4 100644 --- a/lib/Transforms/Scalar/Reassociate.cpp +++ b/lib/Transforms/Scalar/Reassociate.cpp @@ -37,11 +37,11 @@ using namespace llvm; namespace { - Statistic<> NumLinear ("reassociate","Number of insts linearized"); - Statistic<> NumChanged("reassociate","Number of insts reassociated"); - Statistic<> NumSwapped("reassociate","Number of insts with operands swapped"); - Statistic<> NumAnnihil("reassociate","Number of expr tree annihilated"); - Statistic<> NumFactor ("reassociate","Number of multiplies factored"); + Statistic NumLinear ("reassociate","Number of insts linearized"); + Statistic NumChanged("reassociate","Number of insts reassociated"); + Statistic NumSwapped("reassociate","Number of insts with operands swapped"); + Statistic NumAnnihil("reassociate","Number of expr tree annihilated"); + Statistic NumFactor ("reassociate","Number of multiplies factored"); struct ValueEntry { unsigned Rank; diff --git a/lib/Transforms/Scalar/Reg2Mem.cpp b/lib/Transforms/Scalar/Reg2Mem.cpp index 10d05ee7013..d43e5b33abc 100644 --- a/lib/Transforms/Scalar/Reg2Mem.cpp +++ b/lib/Transforms/Scalar/Reg2Mem.cpp @@ -30,7 +30,7 @@ using namespace llvm; namespace { - Statistic<> NumDemoted("reg2mem", "Number of registers demoted"); + Statistic NumDemoted("reg2mem", "Number of registers demoted"); struct RegToMem : public FunctionPass { diff --git a/lib/Transforms/Scalar/SCCP.cpp b/lib/Transforms/Scalar/SCCP.cpp index cf91b57689a..a5f7db8f6e8 100644 --- a/lib/Transforms/Scalar/SCCP.cpp +++ b/lib/Transforms/Scalar/SCCP.cpp @@ -1080,8 +1080,8 @@ bool SCCPSolver::ResolveBranchesIn(Function &F) { namespace { - Statistic<> NumInstRemoved("sccp", "Number of instructions removed"); - Statistic<> NumDeadBlocks ("sccp", "Number of basic blocks unreachable"); + Statistic NumInstRemoved("sccp", "Number of instructions removed"); + Statistic NumDeadBlocks ("sccp", "Number of basic blocks unreachable"); //===--------------------------------------------------------------------===// // @@ -1191,11 +1191,11 @@ bool SCCP::runOnFunction(Function &F) { } namespace { - Statistic<> IPNumInstRemoved("ipsccp", "Number of instructions removed"); - Statistic<> IPNumDeadBlocks ("ipsccp", "Number of basic blocks unreachable"); - Statistic<> IPNumArgsElimed ("ipsccp", + Statistic IPNumInstRemoved("ipsccp", "Number of instructions removed"); + Statistic IPNumDeadBlocks ("ipsccp", "Number of basic blocks unreachable"); + Statistic IPNumArgsElimed ("ipsccp", "Number of arguments constant propagated"); - Statistic<> IPNumGlobalConst("ipsccp", + Statistic IPNumGlobalConst("ipsccp", "Number of globals found to be constant"); //===--------------------------------------------------------------------===// diff --git a/lib/Transforms/Scalar/ScalarReplAggregates.cpp b/lib/Transforms/Scalar/ScalarReplAggregates.cpp index b62df632151..959b192077e 100644 --- a/lib/Transforms/Scalar/ScalarReplAggregates.cpp +++ b/lib/Transforms/Scalar/ScalarReplAggregates.cpp @@ -37,9 +37,9 @@ using namespace llvm; namespace { - Statistic<> NumReplaced("scalarrepl", "Number of allocas broken up"); - Statistic<> NumPromoted("scalarrepl", "Number of allocas promoted"); - Statistic<> NumConverted("scalarrepl", + Statistic NumReplaced("scalarrepl", "Number of allocas broken up"); + Statistic NumPromoted("scalarrepl", "Number of allocas promoted"); + Statistic NumConverted("scalarrepl", "Number of aggregates converted to scalar"); struct VISIBILITY_HIDDEN SROA : public FunctionPass { diff --git a/lib/Transforms/Scalar/SimplifyCFG.cpp b/lib/Transforms/Scalar/SimplifyCFG.cpp index 6b42f1c35ad..0da53a3aab2 100644 --- a/lib/Transforms/Scalar/SimplifyCFG.cpp +++ b/lib/Transforms/Scalar/SimplifyCFG.cpp @@ -30,7 +30,7 @@ using namespace llvm; namespace { - Statistic<> NumSimpl("cfgsimplify", "Number of blocks simplified"); + Statistic NumSimpl("cfgsimplify", "Number of blocks simplified"); struct CFGSimplifyPass : public FunctionPass { virtual bool runOnFunction(Function &F); diff --git a/lib/Transforms/Scalar/TailDuplication.cpp b/lib/Transforms/Scalar/TailDuplication.cpp index 9e9827377d8..6708418a678 100644 --- a/lib/Transforms/Scalar/TailDuplication.cpp +++ b/lib/Transforms/Scalar/TailDuplication.cpp @@ -37,9 +37,9 @@ namespace { cl::opt Threshold("taildup-threshold", cl::desc("Max block size to tail duplicate"), cl::init(6), cl::Hidden); - Statistic<> NumEliminated("tailduplicate", + Statistic NumEliminated("tailduplicate", "Number of unconditional branches eliminated"); - Statistic<> NumPHINodes("tailduplicate", "Number of phi nodes inserted"); + Statistic NumPHINodes("tailduplicate", "Number of phi nodes inserted"); class TailDup : public FunctionPass { bool runOnFunction(Function &F); diff --git a/lib/Transforms/Scalar/TailRecursionElimination.cpp b/lib/Transforms/Scalar/TailRecursionElimination.cpp index e732392f400..aca54306692 100644 --- a/lib/Transforms/Scalar/TailRecursionElimination.cpp +++ b/lib/Transforms/Scalar/TailRecursionElimination.cpp @@ -61,8 +61,8 @@ using namespace llvm; namespace { - Statistic<> NumEliminated("tailcallelim", "Number of tail calls removed"); - Statistic<> NumAccumAdded("tailcallelim","Number of accumulators introduced"); + Statistic NumEliminated("tailcallelim", "Number of tail calls removed"); + Statistic NumAccumAdded("tailcallelim","Number of accumulators introduced"); struct TailCallElim : public FunctionPass { virtual bool runOnFunction(Function &F); diff --git a/lib/Transforms/Utils/BreakCriticalEdges.cpp b/lib/Transforms/Utils/BreakCriticalEdges.cpp index 58f0347bf9f..668d19dff7a 100644 --- a/lib/Transforms/Utils/BreakCriticalEdges.cpp +++ b/lib/Transforms/Utils/BreakCriticalEdges.cpp @@ -30,7 +30,7 @@ using namespace llvm; namespace { - Statistic<> NumBroken("break-crit-edges", "Number of blocks inserted"); + Statistic NumBroken("break-crit-edges", "Number of blocks inserted"); struct VISIBILITY_HIDDEN BreakCriticalEdges : public FunctionPass { virtual bool runOnFunction(Function &F); diff --git a/lib/Transforms/Utils/LCSSA.cpp b/lib/Transforms/Utils/LCSSA.cpp index ca7aff97f3a..fe9890316fd 100644 --- a/lib/Transforms/Utils/LCSSA.cpp +++ b/lib/Transforms/Utils/LCSSA.cpp @@ -43,7 +43,7 @@ using namespace llvm; namespace { - static Statistic<> NumLCSSA("lcssa", + static Statistic NumLCSSA("lcssa", "Number of live out of a loop variables"); struct LCSSA : public FunctionPass { diff --git a/lib/Transforms/Utils/LoopSimplify.cpp b/lib/Transforms/Utils/LoopSimplify.cpp index 19293f47fb0..7796022e892 100644 --- a/lib/Transforms/Utils/LoopSimplify.cpp +++ b/lib/Transforms/Utils/LoopSimplify.cpp @@ -49,9 +49,9 @@ using namespace llvm; namespace { - Statistic<> + Statistic NumInserted("loopsimplify", "Number of pre-header or exit blocks inserted"); - Statistic<> + Statistic NumNested("loopsimplify", "Number of nested loops split out"); struct VISIBILITY_HIDDEN LoopSimplify : public FunctionPass { diff --git a/lib/Transforms/Utils/LowerAllocations.cpp b/lib/Transforms/Utils/LowerAllocations.cpp index b7e4040145d..75a4c704c91 100644 --- a/lib/Transforms/Utils/LowerAllocations.cpp +++ b/lib/Transforms/Utils/LowerAllocations.cpp @@ -25,7 +25,7 @@ using namespace llvm; namespace { - Statistic<> NumLowered("lowerallocs", "Number of allocations lowered"); + Statistic NumLowered("lowerallocs", "Number of allocations lowered"); /// LowerAllocations - Turn malloc and free instructions into %malloc and /// %free calls. diff --git a/lib/Transforms/Utils/LowerInvoke.cpp b/lib/Transforms/Utils/LowerInvoke.cpp index 507fb86f568..dfeb8349f4a 100644 --- a/lib/Transforms/Utils/LowerInvoke.cpp +++ b/lib/Transforms/Utils/LowerInvoke.cpp @@ -50,9 +50,9 @@ using namespace llvm; namespace { - Statistic<> NumInvokes("lowerinvoke", "Number of invokes replaced"); - Statistic<> NumUnwinds("lowerinvoke", "Number of unwinds replaced"); - Statistic<> NumSpilled("lowerinvoke", + Statistic NumInvokes("lowerinvoke", "Number of invokes replaced"); + Statistic NumUnwinds("lowerinvoke", "Number of unwinds replaced"); + Statistic NumSpilled("lowerinvoke", "Number of registers live across unwind edges"); cl::opt ExpensiveEHSupport("enable-correct-eh-support", cl::desc("Make the -lowerinvoke pass insert expensive, but correct, EH code")); diff --git a/lib/Transforms/Utils/LowerSelect.cpp b/lib/Transforms/Utils/LowerSelect.cpp index 6859813b476..5efdd9bc197 100644 --- a/lib/Transforms/Utils/LowerSelect.cpp +++ b/lib/Transforms/Utils/LowerSelect.cpp @@ -28,7 +28,7 @@ using namespace llvm; namespace { - Statistic<> NumLowered("lowerselect","Number of select instructions lowered"); + Statistic NumLowered("lowerselect","Number of select instructions lowered"); /// LowerSelect - Turn select instructions into conditional branches. /// diff --git a/lib/Transforms/Utils/LowerSwitch.cpp b/lib/Transforms/Utils/LowerSwitch.cpp index 401f61724ee..4ad12b9c256 100644 --- a/lib/Transforms/Utils/LowerSwitch.cpp +++ b/lib/Transforms/Utils/LowerSwitch.cpp @@ -26,7 +26,7 @@ using namespace llvm; namespace { - Statistic<> NumLowered("lowerswitch", "Number of SwitchInst's replaced"); + Statistic NumLowered("lowerswitch", "Number of SwitchInst's replaced"); /// LowerSwitch Pass - Replace all SwitchInst instructions with chained branch /// instructions. Note that this cannot be a BasicBlock pass because it diff --git a/lib/Transforms/Utils/Mem2Reg.cpp b/lib/Transforms/Utils/Mem2Reg.cpp index f4ab50f08da..e0f79dd36c0 100644 --- a/lib/Transforms/Utils/Mem2Reg.cpp +++ b/lib/Transforms/Utils/Mem2Reg.cpp @@ -24,7 +24,7 @@ using namespace llvm; namespace { - Statistic<> NumPromoted("mem2reg", "Number of alloca's promoted"); + Statistic NumPromoted("mem2reg", "Number of alloca's promoted"); struct VISIBILITY_HIDDEN PromotePass : public FunctionPass { // runOnFunction - To run this pass, first we calculate the alloca -- 2.34.1