From: Chris Lattner Date: Tue, 1 Oct 2002 22:38:41 +0000 (+0000) Subject: Updates to work with recent Statistic's changes: X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a92f696b74a99325026ebbdbffd2a44317e0c10b;p=oota-llvm.git Updates to work with recent Statistic's changes: * Renamed StatisticReporter.h/cpp to Statistic.h/cpp * Broke constructor to take two const char * arguments instead of one, so that indendation can be taken care of automatically. * Sort the list by pass name when printing * Make sure to print all statistics as a group, instead of randomly when the statistics dtors are called. * Updated ProgrammersManual with new semantics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4002 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Bytecode/Writer/InstructionWriter.cpp b/lib/Bytecode/Writer/InstructionWriter.cpp index 49365af17e2..fe03554827f 100644 --- a/lib/Bytecode/Writer/InstructionWriter.cpp +++ b/lib/Bytecode/Writer/InstructionWriter.cpp @@ -14,13 +14,13 @@ #include "llvm/DerivedTypes.h" #include "llvm/iOther.h" #include "llvm/iTerminators.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" #include static Statistic<> -NumOversized("bytecodewriter\t- Number of oversized instructions"); +NumOversized("bytecodewriter", "Number of oversized instructions"); static Statistic<> -NumNormal("bytecodewriter\t- Number of normal instructions"); +NumNormal("bytecodewriter", "Number of normal instructions"); typedef unsigned char uchar; diff --git a/lib/Bytecode/Writer/Writer.cpp b/lib/Bytecode/Writer/Writer.cpp index 4eade882758..012f9bc8c7a 100644 --- a/lib/Bytecode/Writer/Writer.cpp +++ b/lib/Bytecode/Writer/Writer.cpp @@ -25,14 +25,14 @@ #include "llvm/SymbolTable.h" #include "llvm/DerivedTypes.h" #include "Support/STLExtras.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" #include #include static RegisterPass X("emitbytecode", "Bytecode Writer"); static Statistic<> -BytesWritten("bytecodewriter\t- Number of bytecode bytes written"); +BytesWritten("bytecodewriter", "Number of bytecode bytes written"); BytecodeWriter::BytecodeWriter(std::deque &o, const Module *M) diff --git a/lib/Transforms/IPO/ConstantMerge.cpp b/lib/Transforms/IPO/ConstantMerge.cpp index 28c6519478f..02a9100a2e7 100644 --- a/lib/Transforms/IPO/ConstantMerge.cpp +++ b/lib/Transforms/IPO/ConstantMerge.cpp @@ -14,7 +14,7 @@ #include "llvm/Module.h" #include "llvm/Constants.h" #include "llvm/Pass.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" namespace { struct ConstantMerge : public Pass { @@ -28,7 +28,7 @@ namespace { void replaceConstantWith(Constant *Old, Constant *New); }; - Statistic<> NumMerged("constmerge\t\t- Number of global constants merged"); + Statistic<> NumMerged("constmerge", "Number of global constants merged"); RegisterOpt X("constmerge","Merge Duplicate Global Constants"); } diff --git a/lib/Transforms/IPO/DeadTypeElimination.cpp b/lib/Transforms/IPO/DeadTypeElimination.cpp index 58fe7f0a595..a1860a92e95 100644 --- a/lib/Transforms/IPO/DeadTypeElimination.cpp +++ b/lib/Transforms/IPO/DeadTypeElimination.cpp @@ -10,7 +10,7 @@ #include "llvm/Module.h" #include "llvm/SymbolTable.h" #include "llvm/DerivedTypes.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" using std::vector; @@ -31,7 +31,8 @@ namespace { } }; RegisterOpt X("deadtypeelim", "Dead Type Elimination"); - Statistic<> NumKilled("deadtypeelim\t- Number of unused typenames removed from symtab"); + Statistic<> + NumKilled("deadtypeelim", "Number of unused typenames removed from symtab"); } Pass *createDeadTypeEliminationPass() { diff --git a/lib/Transforms/IPO/FunctionResolution.cpp b/lib/Transforms/IPO/FunctionResolution.cpp index 9c63dca2492..bf65c49bf9e 100644 --- a/lib/Transforms/IPO/FunctionResolution.cpp +++ b/lib/Transforms/IPO/FunctionResolution.cpp @@ -18,7 +18,7 @@ #include "llvm/Pass.h" #include "llvm/iOther.h" #include "llvm/Constant.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" #include using std::vector; @@ -26,7 +26,7 @@ using std::string; using std::cerr; namespace { - Statistic<>NumResolved("funcresolve\t- Number of varargs functions resolved"); + Statistic<>NumResolved("funcresolve", "Number of varargs functions resolved"); struct FunctionResolvingPass : public Pass { bool run(Module &M); diff --git a/lib/Transforms/IPO/GlobalDCE.cpp b/lib/Transforms/IPO/GlobalDCE.cpp index 1bb823dde99..7c81f180bb3 100644 --- a/lib/Transforms/IPO/GlobalDCE.cpp +++ b/lib/Transforms/IPO/GlobalDCE.cpp @@ -9,54 +9,53 @@ #include "llvm/Module.h" #include "llvm/Constants.h" #include "llvm/DerivedTypes.h" -#include "llvm/GlobalVariable.h" #include "llvm/Analysis/CallGraph.h" #include "Support/DepthFirstIterator.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" #include -static Statistic<> NumFunctions("globaldce\t- Number of functions removed"); -static Statistic<> NumVariables("globaldce\t- Number of global variables removed"); -static Statistic<> NumCPRs("globaldce\t- Number of const pointer refs removed"); -static Statistic<> NumConsts("globaldce\t- Number of init constants removed"); - -static bool RemoveUnreachableFunctions(Module &M, CallGraph &CallGraph) { - // Calculate which functions are reachable from the external functions in the - // call graph. - // - std::set ReachableNodes(df_begin(&CallGraph), - df_end(&CallGraph)); - - // Loop over the functions in the module twice. The first time is used to - // drop references that functions have to each other before they are deleted. - // The second pass removes the functions that need to be removed. - // - std::vector FunctionsToDelete; // Track unused functions - for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) { - CallGraphNode *N = CallGraph[I]; +namespace { + Statistic<> NumFunctions("globaldce","Number of functions removed"); + Statistic<> NumVariables("globaldce","Number of global variables removed"); + Statistic<> NumCPRs("globaldce", "Number of const pointer refs removed"); + Statistic<> NumConsts("globaldce", "Number of init constants removed"); + + bool RemoveUnreachableFunctions(Module &M, CallGraph &CallGraph) { + // Calculate which functions are reachable from the external functions in + // the call graph. + // + std::set ReachableNodes(df_begin(&CallGraph), + df_end(&CallGraph)); - if (!ReachableNodes.count(N)) { // Not reachable?? - I->dropAllReferences(); - N->removeAllCalledFunctions(); - FunctionsToDelete.push_back(N); - ++NumFunctions; + // Loop over the functions in the module twice. The first time is used to + // drop references that functions have to each other before they are + // deleted. The second pass removes the functions that need to be removed. + // + std::vector FunctionsToDelete; // Track unused functions + for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) { + CallGraphNode *N = CallGraph[I]; + + if (!ReachableNodes.count(N)) { // Not reachable?? + I->dropAllReferences(); + N->removeAllCalledFunctions(); + FunctionsToDelete.push_back(N); + ++NumFunctions; + } } + + // Nothing to do if no unreachable functions have been found... + if (FunctionsToDelete.empty()) return false; + + // Unreachables functions have been found and should have no references to + // them, delete them now. + // + for (std::vector::iterator I = FunctionsToDelete.begin(), + E = FunctionsToDelete.end(); I != E; ++I) + delete CallGraph.removeFunctionFromModule(*I); + + return true; } - - // Nothing to do if no unreachable functions have been found... - if (FunctionsToDelete.empty()) return false; - - // Unreachables functions have been found and should have no references to - // them, delete them now. - // - for (std::vector::iterator I = FunctionsToDelete.begin(), - E = FunctionsToDelete.end(); I != E; ++I) - delete CallGraph.removeFunctionFromModule(*I); - - return true; -} - -namespace { + struct GlobalDCE : public Pass { // run - Do the GlobalDCE pass on the specified module, optionally updating // the specified callgraph to reflect the changes. diff --git a/lib/Transforms/IPO/Internalize.cpp b/lib/Transforms/IPO/Internalize.cpp index f0b0b1b0b7b..58b1dccdaef 100644 --- a/lib/Transforms/IPO/Internalize.cpp +++ b/lib/Transforms/IPO/Internalize.cpp @@ -9,12 +9,11 @@ #include "llvm/Transforms/IPO.h" #include "llvm/Pass.h" #include "llvm/Module.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" namespace { - Statistic<> NumFunctions("internalize\t- Number of functions internalized"); - Statistic<> NumGlobals ("internalize\t- Number of global vars internalized"); - + Statistic<> NumFunctions("internalize", "Number of functions internalized"); + Statistic<> NumGlobals ("internalize", "Number of global vars internalized"); class InternalizePass : public Pass { virtual bool run(Module &M) { diff --git a/lib/Transforms/IPO/MutateStructTypes.cpp b/lib/Transforms/IPO/MutateStructTypes.cpp index 8130c6f0604..7f62f2b50e1 100644 --- a/lib/Transforms/IPO/MutateStructTypes.cpp +++ b/lib/Transforms/IPO/MutateStructTypes.cpp @@ -19,12 +19,11 @@ #include "llvm/iMemory.h" #include "llvm/iTerminators.h" #include "llvm/iOther.h" -#include "llvm/Argument.h" #include "llvm/Constants.h" #include "Support/STLExtras.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" #include -#include + using std::map; using std::vector; diff --git a/lib/Transforms/IPO/RaiseAllocations.cpp b/lib/Transforms/IPO/RaiseAllocations.cpp index 2f4a1df842e..75c2247755c 100644 --- a/lib/Transforms/IPO/RaiseAllocations.cpp +++ b/lib/Transforms/IPO/RaiseAllocations.cpp @@ -12,32 +12,31 @@ #include "llvm/iMemory.h" #include "llvm/iOther.h" #include "llvm/Pass.h" -#include "Support/StatisticReporter.h" - -static Statistic<> NumRaised("raiseallocs\t- Number of allocations raised"); +#include "Support/Statistic.h" namespace { + Statistic<> NumRaised("raiseallocs", "Number of allocations raised"); -// RaiseAllocations - Turn %malloc and %free calls into the appropriate -// instruction. -// -class RaiseAllocations : public BasicBlockPass { - Function *MallocFunc; // Functions in the module we are processing - Function *FreeFunc; // Initialized by doPassInitializationVirt -public: - RaiseAllocations() : MallocFunc(0), FreeFunc(0) {} - - // doPassInitialization - For the raise allocations pass, this finds a - // declaration for malloc and free if they exist. + // RaiseAllocations - Turn %malloc and %free calls into the appropriate + // instruction. // - bool doInitialization(Module &M); - - // runOnBasicBlock - This method does the actual work of converting - // instructions over, assuming that the pass has already been initialized. - // - bool runOnBasicBlock(BasicBlock &BB); -}; - + class RaiseAllocations : public BasicBlockPass { + Function *MallocFunc; // Functions in the module we are processing + Function *FreeFunc; // Initialized by doPassInitializationVirt + public: + RaiseAllocations() : MallocFunc(0), FreeFunc(0) {} + + // doPassInitialization - For the raise allocations pass, this finds a + // declaration for malloc and free if they exist. + // + bool doInitialization(Module &M); + + // runOnBasicBlock - This method does the actual work of converting + // instructions over, assuming that the pass has already been initialized. + // + bool runOnBasicBlock(BasicBlock &BB); + }; + RegisterOpt X("raiseallocs", "Raise allocations from calls to instructions"); } // end anonymous namespace diff --git a/lib/Transforms/Scalar/ADCE.cpp b/lib/Transforms/Scalar/ADCE.cpp index 7d1d896bd22..e2e9e86216c 100644 --- a/lib/Transforms/Scalar/ADCE.cpp +++ b/lib/Transforms/Scalar/ADCE.cpp @@ -17,16 +17,14 @@ #include "llvm/Support/CFG.h" #include "Support/STLExtras.h" #include "Support/DepthFirstIterator.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" #include -#include using std::cerr; using std::vector; -static Statistic<> NumBlockRemoved("adce\t\t- Number of basic blocks removed"); -static Statistic<> NumInstRemoved ("adce\t\t- Number of instructions removed"); - namespace { + Statistic<> NumBlockRemoved("adce", "Number of basic blocks removed"); + Statistic<> NumInstRemoved ("adce", "Number of instructions removed"); //===----------------------------------------------------------------------===// // ADCE Class diff --git a/lib/Transforms/Scalar/BreakCriticalEdges.cpp b/lib/Transforms/Scalar/BreakCriticalEdges.cpp index 3927a81802b..fa33fc7397d 100644 --- a/lib/Transforms/Scalar/BreakCriticalEdges.cpp +++ b/lib/Transforms/Scalar/BreakCriticalEdges.cpp @@ -14,10 +14,10 @@ #include "llvm/iTerminators.h" #include "llvm/iPHINode.h" #include "llvm/Support/CFG.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" namespace { - Statistic<> NumBroken("break-crit-edges\t- Number of blocks inserted"); + Statistic<> NumBroken("break-crit-edges", "Number of blocks inserted"); struct BreakCriticalEdges : public FunctionPass { virtual bool runOnFunction(Function &F); diff --git a/lib/Transforms/Scalar/ConstantProp.cpp b/lib/Transforms/Scalar/ConstantProp.cpp index 5da909e2020..1c0d33bee82 100644 --- a/lib/Transforms/Scalar/ConstantProp.cpp +++ b/lib/Transforms/Scalar/ConstantProp.cpp @@ -17,12 +17,12 @@ #include "llvm/Instruction.h" #include "llvm/Pass.h" #include "llvm/Support/InstIterator.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" #include -static Statistic<> NumInstKilled("constprop - Number of instructions killed"); - namespace { + Statistic<> NumInstKilled("constprop", "Number of instructions killed"); + struct ConstantPropogation : public FunctionPass { bool runOnFunction(Function &F); diff --git a/lib/Transforms/Scalar/CorrelatedExprs.cpp b/lib/Transforms/Scalar/CorrelatedExprs.cpp index 441c7990f16..2ff504de6c0 100644 --- a/lib/Transforms/Scalar/CorrelatedExprs.cpp +++ b/lib/Transforms/Scalar/CorrelatedExprs.cpp @@ -32,13 +32,13 @@ #include "llvm/Support/ConstantRange.h" #include "llvm/Support/CFG.h" #include "Support/PostOrderIterator.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" #include namespace { - Statistic<>NumSetCCRemoved("cee\t\t- Number of setcc instruction eliminated"); - Statistic<>NumOperandsCann("cee\t\t- Number of operands cannonicalized"); - Statistic<>BranchRevectors("cee\t\t- Number of branches revectored"); + Statistic<> NumSetCCRemoved("cee", "Number of setcc instruction eliminated"); + Statistic<> NumOperandsCann("cee", "Number of operands cannonicalized"); + 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 2903699a8d1..cfeb8685893 100644 --- a/lib/Transforms/Scalar/DCE.cpp +++ b/lib/Transforms/Scalar/DCE.cpp @@ -14,17 +14,17 @@ #include "llvm/Instruction.h" #include "llvm/Pass.h" #include "llvm/Support/InstIterator.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" #include -static Statistic<> DIEEliminated("die\t\t- Number of insts removed"); -static Statistic<> DCEEliminated("dce\t\t- Number of insts removed"); +namespace { + Statistic<> DIEEliminated("die", "Number of insts removed"); + Statistic<> DCEEliminated("dce", "Number of insts removed"); -//===----------------------------------------------------------------------===// -// DeadInstElimination pass implementation -// + //===--------------------------------------------------------------------===// + // DeadInstElimination pass implementation + // -namespace { struct DeadInstElimination : public BasicBlockPass { virtual bool runOnBasicBlock(BasicBlock &BB) { bool Changed = false; diff --git a/lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp b/lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp index 2fb1346a5c8..d0f47d8b806 100644 --- a/lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp +++ b/lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp @@ -16,10 +16,10 @@ #include "llvm/iOther.h" #include "llvm/BasicBlock.h" #include "llvm/Pass.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" namespace { - Statistic<> NumAdded("lowerrefs\t\t- # of getelementptr instructions added"); + Statistic<> NumAdded("lowerrefs", "# of getelementptr instructions added"); struct DecomposePass : public BasicBlockPass { virtual bool runOnBasicBlock(BasicBlock &BB); diff --git a/lib/Transforms/Scalar/GCSE.cpp b/lib/Transforms/Scalar/GCSE.cpp index e8e140f2032..e5f10c849f4 100644 --- a/lib/Transforms/Scalar/GCSE.cpp +++ b/lib/Transforms/Scalar/GCSE.cpp @@ -13,13 +13,13 @@ #include "llvm/Analysis/Dominators.h" #include "llvm/Analysis/ValueNumbering.h" #include "llvm/Support/InstIterator.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" #include namespace { - Statistic<> NumInstRemoved("gcse\t\t- Number of instructions removed"); - Statistic<> NumLoadRemoved("gcse\t\t- Number of loads removed"); - Statistic<> NumNonInsts ("gcse\t\t- Number of instructions removed due " + Statistic<> NumInstRemoved("gcse", "Number of instructions removed"); + Statistic<> NumLoadRemoved("gcse", "Number of loads removed"); + Statistic<> NumNonInsts ("gcse", "Number of instructions removed due " "to non-instruction values"); class GCSE : public FunctionPass { diff --git a/lib/Transforms/Scalar/IndVarSimplify.cpp b/lib/Transforms/Scalar/IndVarSimplify.cpp index 004297ff8f4..d7433802ee5 100644 --- a/lib/Transforms/Scalar/IndVarSimplify.cpp +++ b/lib/Transforms/Scalar/IndVarSimplify.cpp @@ -14,11 +14,11 @@ #include "llvm/Constants.h" #include "llvm/Support/CFG.h" #include "Support/STLExtras.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" namespace { - Statistic<> NumRemoved ("indvars\t\t- Number of aux indvars removed"); - Statistic<> NumInserted("indvars\t\t- Number of cannonical indvars added"); + Statistic<> NumRemoved ("indvars", "Number of aux indvars removed"); + Statistic<> NumInserted("indvars", "Number of cannonical indvars added"); } // InsertCast - Cast Val to Ty, setting a useful name on the cast if Val has a diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index b60d1fa9720..ec3ea074d92 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -25,14 +25,14 @@ #include "llvm/Pass.h" #include "llvm/Support/InstIterator.h" #include "llvm/Support/InstVisitor.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" #include -static Statistic<> NumCombined ("instcombine\t- Number of insts combined"); -static Statistic<> NumConstProp("instcombine\t- Number of constant folds"); -static Statistic<> NumDeadInst ("instcombine\t- Number of dead inst eliminate"); - namespace { + Statistic<> NumCombined ("instcombine", "Number of insts combined"); + Statistic<> NumConstProp("instcombine", "Number of constant folds"); + Statistic<> NumDeadInst ("instcombine", "Number of dead inst eliminated"); + class InstCombiner : public FunctionPass, public InstVisitor { // Worklist of all of the instructions that need to be simplified. diff --git a/lib/Transforms/Scalar/LICM.cpp b/lib/Transforms/Scalar/LICM.cpp index bc0e433d29f..998dce937b2 100644 --- a/lib/Transforms/Scalar/LICM.cpp +++ b/lib/Transforms/Scalar/LICM.cpp @@ -13,14 +13,14 @@ #include "llvm/iMemory.h" #include "llvm/Support/InstVisitor.h" #include "Support/STLExtras.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" #include "llvm/Assembly/Writer.h" #include using std::string; namespace { - Statistic<>NumHoisted("licm\t\t- Number of instructions hoisted out of loop"); - Statistic<> NumHoistedLoads("licm\t\t- Number of load insts hoisted"); + Statistic<> NumHoisted("licm", "Number of instructions hoisted out of loop"); + Statistic<> NumHoistedLoads("licm", "Number of load insts hoisted"); struct LICM : public FunctionPass, public InstVisitor { virtual bool runOnFunction(Function &F); diff --git a/lib/Transforms/Scalar/PiNodeInsertion.cpp b/lib/Transforms/Scalar/PiNodeInsertion.cpp index 940b56fd29b..9d431951d7c 100644 --- a/lib/Transforms/Scalar/PiNodeInsertion.cpp +++ b/lib/Transforms/Scalar/PiNodeInsertion.cpp @@ -29,16 +29,15 @@ #include "llvm/Analysis/Dominators.h" #include "llvm/Pass.h" #include "llvm/Function.h" -#include "llvm/BasicBlock.h" #include "llvm/iTerminators.h" #include "llvm/iOperators.h" #include "llvm/iPHINode.h" #include "llvm/Support/CFG.h" -#include "Support/StatisticReporter.h" - -static Statistic<> NumInserted("pinodes\t\t- Number of Pi nodes inserted"); +#include "Support/Statistic.h" namespace { + Statistic<> NumInserted("pinodes", "Number of Pi nodes inserted"); + struct PiNodeInserter : public FunctionPass { virtual bool runOnFunction(Function &F); diff --git a/lib/Transforms/Scalar/Reassociate.cpp b/lib/Transforms/Scalar/Reassociate.cpp index 7d76bfb681f..608ab52510c 100644 --- a/lib/Transforms/Scalar/Reassociate.cpp +++ b/lib/Transforms/Scalar/Reassociate.cpp @@ -18,20 +18,19 @@ #include "llvm/Transforms/Scalar.h" #include "llvm/Function.h" -#include "llvm/BasicBlock.h" #include "llvm/iOperators.h" #include "llvm/Type.h" #include "llvm/Pass.h" #include "llvm/Constant.h" #include "llvm/Support/CFG.h" #include "Support/PostOrderIterator.h" -#include "Support/StatisticReporter.h" - -static Statistic<> NumLinear ("reassociate\t- Number of insts linearized"); -static Statistic<> NumChanged("reassociate\t- Number of insts reassociated"); -static Statistic<> NumSwapped("reassociate\t- Number of insts with operands swapped"); +#include "Support/Statistic.h" namespace { + Statistic<> NumLinear ("reassociate","Number of insts linearized"); + Statistic<> NumChanged("reassociate","Number of insts reassociated"); + Statistic<> NumSwapped("reassociate","Number of insts with operands swapped"); + class Reassociate : public FunctionPass { std::map RankMap; public: diff --git a/lib/Transforms/Scalar/SCCP.cpp b/lib/Transforms/Scalar/SCCP.cpp index ff5cdcb74c0..1540767d3b8 100644 --- a/lib/Transforms/Scalar/SCCP.cpp +++ b/lib/Transforms/Scalar/SCCP.cpp @@ -24,17 +24,17 @@ #include "llvm/Pass.h" #include "llvm/Support/InstVisitor.h" #include "Support/STLExtras.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" #include #include using std::cerr; -static Statistic<> NumInstRemoved("sccp\t\t- Number of instructions removed"); - // InstVal class - This class represents the different lattice values that an // instruction may occupy. It is a simple class with value semantics. // namespace { + Statistic<> NumInstRemoved("sccp", "Number of instructions removed"); + class InstVal { enum { undefined, // This instruction has no known value diff --git a/lib/Transforms/Scalar/SimplifyCFG.cpp b/lib/Transforms/Scalar/SimplifyCFG.cpp index 5f04e2fe8f9..3e19aed9499 100644 --- a/lib/Transforms/Scalar/SimplifyCFG.cpp +++ b/lib/Transforms/Scalar/SimplifyCFG.cpp @@ -16,12 +16,12 @@ #include "llvm/Module.h" #include "llvm/Support/CFG.h" #include "llvm/Pass.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" #include -static Statistic<> NumSimpl("cfgsimplify\t- Number of blocks simplified"); - namespace { + Statistic<> NumSimpl("cfgsimplify", "Number of blocks simplified"); + struct CFGSimplifyPass : public FunctionPass { virtual bool runOnFunction(Function &F); }; diff --git a/lib/Transforms/Utils/BreakCriticalEdges.cpp b/lib/Transforms/Utils/BreakCriticalEdges.cpp index 3927a81802b..fa33fc7397d 100644 --- a/lib/Transforms/Utils/BreakCriticalEdges.cpp +++ b/lib/Transforms/Utils/BreakCriticalEdges.cpp @@ -14,10 +14,10 @@ #include "llvm/iTerminators.h" #include "llvm/iPHINode.h" #include "llvm/Support/CFG.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" namespace { - Statistic<> NumBroken("break-crit-edges\t- Number of blocks inserted"); + Statistic<> NumBroken("break-crit-edges", "Number of blocks inserted"); struct BreakCriticalEdges : public FunctionPass { virtual bool runOnFunction(Function &F); diff --git a/lib/Transforms/Utils/LoopSimplify.cpp b/lib/Transforms/Utils/LoopSimplify.cpp index 1432b1ca621..66c9aa5402b 100644 --- a/lib/Transforms/Utils/LoopSimplify.cpp +++ b/lib/Transforms/Utils/LoopSimplify.cpp @@ -13,10 +13,10 @@ #include "llvm/iPHINode.h" #include "llvm/Constant.h" #include "llvm/Support/CFG.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" namespace { - Statistic<> NumInserted("preheaders\t- Number of pre-header nodes inserted"); + Statistic<> NumInserted("preheaders", "Number of pre-header nodes inserted"); struct Preheaders : public FunctionPass { virtual bool runOnFunction(Function &F); diff --git a/lib/Transforms/Utils/LowerAllocations.cpp b/lib/Transforms/Utils/LowerAllocations.cpp index 99eb2d044e4..8c6550003dd 100644 --- a/lib/Transforms/Utils/LowerAllocations.cpp +++ b/lib/Transforms/Utils/LowerAllocations.cpp @@ -13,12 +13,12 @@ #include "llvm/Constants.h" #include "llvm/Pass.h" #include "llvm/Target/TargetData.h" -#include "Support/StatisticReporter.h" +#include "Support/Statistic.h" -static Statistic<> NumLowered("lowerallocs\t- Number of allocations lowered"); using std::vector; namespace { + Statistic<> NumLowered("lowerallocs", "Number of allocations lowered"); /// LowerAllocations - Turn malloc and free instructions into %malloc and /// %free calls. diff --git a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp index 70c794e8166..a526694c300 100644 --- a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp +++ b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp @@ -23,18 +23,17 @@ #include "llvm/iPHINode.h" #include "llvm/iTerminators.h" #include "llvm/Function.h" -#include "llvm/BasicBlock.h" #include "llvm/Constant.h" #include "llvm/Type.h" -#include "Support/StatisticReporter.h" - -static Statistic<> NumPromoted("mem2reg\t\t- Number of alloca's promoted"); +#include "Support/Statistic.h" using std::vector; using std::map; using std::set; namespace { + Statistic<> NumPromoted("mem2reg", "Number of alloca's promoted"); + struct PromotePass : public FunctionPass { vector Allocas; // the alloca instruction.. map AllocaLookup; // reverse mapping of above