Changes in directory llvm/lib/Transforms/IPO:
ArgumentPromotion.cpp updated: 1.31 -> 1.32 ConstantMerge.cpp updated: 1.33 -> 1.34 DeadArgumentElimination.cpp updated: 1.32 -> 1.33 DeadTypeElimination.cpp updated: 1.57 -> 1.58 FunctionResolution.cpp updated: 1.64 -> 1.65 GlobalDCE.cpp updated: 1.39 -> 1.40 GlobalOpt.cpp updated: 1.79 -> 1.80 IPConstantPropagation.cpp updated: 1.20 -> 1.21 IndMemRemoval.cpp updated: 1.8 -> 1.9 Inliner.cpp updated: 1.34 -> 1.35 Internalize.cpp updated: 1.39 -> 1.40 LoopExtractor.cpp updated: 1.20 -> 1.21 LowerSetJmp.cpp updated: 1.33 -> 1.34 PruneEH.cpp updated: 1.25 -> 1.26 RaiseAllocations.cpp updated: 1.33 -> 1.34 SimplifyLibCalls.cpp updated: 1.76 -> 1.77 --- Log message: Eliminate static ctors due to Statistic objects --- Diffs of the changes: (+71 -85) ArgumentPromotion.cpp | 11 ++++------- ConstantMerge.cpp | 5 +++-- DeadArgumentElimination.cpp | 8 +++----- DeadTypeElimination.cpp | 5 +++-- FunctionResolution.cpp | 7 ++++--- GlobalDCE.cpp | 7 ++++--- GlobalOpt.cpp | 28 ++++++++++++---------------- IPConstantPropagation.cpp | 9 ++++----- IndMemRemoval.cpp | 17 ++++------------- Inliner.cpp | 7 ++++--- Internalize.cpp | 6 ++++-- LoopExtractor.cpp | 5 +++-- LowerSetJmp.cpp | 15 ++++++--------- PruneEH.cpp | 7 ++++--- RaiseAllocations.cpp | 5 +++-- SimplifyLibCalls.cpp | 14 ++++++-------- 16 files changed, 71 insertions(+), 85 deletions(-) Index: llvm/lib/Transforms/IPO/ArgumentPromotion.cpp diff -u llvm/lib/Transforms/IPO/ArgumentPromotion.cpp:1.31 llvm/lib/Transforms/IPO/ArgumentPromotion.cpp:1.32 --- llvm/lib/Transforms/IPO/ArgumentPromotion.cpp:1.31 Wed Dec 6 11:46:32 2006 +++ llvm/lib/Transforms/IPO/ArgumentPromotion.cpp Tue Dec 19 16:09:18 2006 @@ -47,14 +47,11 @@ #include <set> using namespace llvm; -namespace { - Statistic NumArgumentsPromoted("argpromotion", - "Number of pointer arguments promoted"); - Statistic NumAggregatesPromoted("argpromotion", - "Number of aggregate arguments promoted"); - Statistic NumArgumentsDead("argpromotion", - "Number of dead pointer args eliminated"); +STATISTIC(NumArgumentsPromoted , "Number of pointer arguments promoted"); +STATISTIC(NumAggregatesPromoted, "Number of aggregate arguments promoted"); +STATISTIC(NumArgumentsDead , "Number of dead pointer args eliminated"); +namespace { /// ArgPromotion - The 'by reference' to 'by value' argument promotion pass. /// struct ArgPromotion : public CallGraphSCCPass { Index: llvm/lib/Transforms/IPO/ConstantMerge.cpp diff -u llvm/lib/Transforms/IPO/ConstantMerge.cpp:1.33 llvm/lib/Transforms/IPO/ConstantMerge.cpp:1.34 --- llvm/lib/Transforms/IPO/ConstantMerge.cpp:1.33 Wed Dec 6 11:46:32 2006 +++ llvm/lib/Transforms/IPO/ConstantMerge.cpp Tue Dec 19 16:09:18 2006 @@ -17,15 +17,16 @@ // //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "constmerge" #include "llvm/Transforms/IPO.h" #include "llvm/Module.h" #include "llvm/Pass.h" #include "llvm/ADT/Statistic.h" using namespace llvm; -namespace { - Statistic NumMerged("constmerge", "Number of global constants merged"); +STATISTIC(NumMerged, "Number of global constants merged"); +namespace { struct ConstantMerge : public ModulePass { // run - For this pass, process all of the globals in the module, // eliminating duplicate constants. Index: llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp diff -u llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp:1.32 llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp:1.33 --- llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp:1.32 Sat Dec 16 15:21:53 2006 +++ llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp Tue Dec 19 16:09:18 2006 @@ -32,12 +32,10 @@ #include <set> using namespace llvm; -namespace { - Statistic NumArgumentsEliminated("deadargelim", - "Number of unread args removed"); - Statistic NumRetValsEliminated("deadargelim", - "Number of unused return values removed"); +STATISTIC(NumArgumentsEliminated, "Number of unread args removed"); +STATISTIC(NumRetValsEliminated , "Number of unused return values removed"); +namespace { /// DAE - The dead argument elimination pass. /// class DAE : public ModulePass { Index: llvm/lib/Transforms/IPO/DeadTypeElimination.cpp diff -u llvm/lib/Transforms/IPO/DeadTypeElimination.cpp:1.57 llvm/lib/Transforms/IPO/DeadTypeElimination.cpp:1.58 --- llvm/lib/Transforms/IPO/DeadTypeElimination.cpp:1.57 Wed Dec 6 11:46:32 2006 +++ llvm/lib/Transforms/IPO/DeadTypeElimination.cpp Tue Dec 19 16:09:18 2006 @@ -12,6 +12,7 @@ // //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "deadtypeelim" #include "llvm/Transforms/IPO.h" #include "llvm/Analysis/FindUsedTypes.h" #include "llvm/Module.h" @@ -20,6 +21,8 @@ #include "llvm/ADT/Statistic.h" using namespace llvm; +STATISTIC(NumKilled, "Number of unused typenames removed from symtab"); + namespace { struct DTE : public ModulePass { // doPassInitialization - For this pass, it removes global symbol table @@ -37,8 +40,6 @@ } }; RegisterPass<DTE> X("deadtypeelim", "Dead Type Elimination"); - Statistic - NumKilled("deadtypeelim", "Number of unused typenames removed from symtab"); } ModulePass *llvm::createDeadTypeEliminationPass() { Index: llvm/lib/Transforms/IPO/FunctionResolution.cpp diff -u llvm/lib/Transforms/IPO/FunctionResolution.cpp:1.64 llvm/lib/Transforms/IPO/FunctionResolution.cpp:1.65 --- llvm/lib/Transforms/IPO/FunctionResolution.cpp:1.64 Mon Dec 11 23:04:59 2006 +++ llvm/lib/Transforms/IPO/FunctionResolution.cpp Tue Dec 19 16:09:18 2006 @@ -18,6 +18,7 @@ // //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "funcresolve" #include "llvm/Transforms/IPO.h" #include "llvm/Module.h" #include "llvm/DerivedTypes.h" @@ -31,10 +32,10 @@ #include <algorithm> using namespace llvm; -namespace { - Statistic NumResolved("funcresolve", "Number of varargs functions resolved"); - Statistic NumGlobals("funcresolve", "Number of global variables resolved"); +STATISTIC(NumResolved, "Number of varargs functions resolved"); +STATISTIC(NumGlobals, "Number of global variables resolved"); +namespace { struct FunctionResolvingPass : public ModulePass { virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<TargetData>(); Index: llvm/lib/Transforms/IPO/GlobalDCE.cpp diff -u llvm/lib/Transforms/IPO/GlobalDCE.cpp:1.39 llvm/lib/Transforms/IPO/GlobalDCE.cpp:1.40 --- llvm/lib/Transforms/IPO/GlobalDCE.cpp:1.39 Wed Dec 6 11:46:32 2006 +++ llvm/lib/Transforms/IPO/GlobalDCE.cpp Tue Dec 19 16:09:18 2006 @@ -15,6 +15,7 @@ // //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "globaldce" #include "llvm/Transforms/IPO.h" #include "llvm/Constants.h" #include "llvm/Module.h" @@ -23,10 +24,10 @@ #include <set> using namespace llvm; -namespace { - Statistic NumFunctions("globaldce","Number of functions removed"); - Statistic NumVariables("globaldce","Number of global variables removed"); +STATISTIC(NumFunctions, "Number of functions removed"); +STATISTIC(NumVariables, "Number of global variables removed"); +namespace { struct GlobalDCE : public ModulePass { // run - Do the GlobalDCE pass on the specified module, optionally updating // the specified callgraph to reflect the changes. Index: llvm/lib/Transforms/IPO/GlobalOpt.cpp diff -u llvm/lib/Transforms/IPO/GlobalOpt.cpp:1.79 llvm/lib/Transforms/IPO/GlobalOpt.cpp:1.80 --- llvm/lib/Transforms/IPO/GlobalOpt.cpp:1.79 Tue Dec 12 17:36:14 2006 +++ llvm/lib/Transforms/IPO/GlobalOpt.cpp Tue Dec 19 16:09:18 2006 @@ -31,23 +31,19 @@ #include <set> using namespace llvm; -namespace { - 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", - "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", - "Number of global vars shrunk to booleans"); - Statistic NumFastCallFns("globalopt", - "Number of functions converted to fastcc"); - Statistic NumCtorsEvaluated("globalopt","Number of static ctors evaluated"); +STATISTIC(NumMarked , "Number of globals marked constant"); +STATISTIC(NumSRA , "Number of aggregate globals broken into scalars"); +STATISTIC(NumHeapSRA , "Number of heap objects SRA'd"); +STATISTIC(NumSubstitute,"Number of globals with initializers stored into them"); +STATISTIC(NumDeleted , "Number of globals deleted"); +STATISTIC(NumFnDeleted , "Number of functions deleted"); +STATISTIC(NumGlobUses , "Number of global uses devirtualized"); +STATISTIC(NumLocalized , "Number of globals localized"); +STATISTIC(NumShrunkToBool , "Number of global vars shrunk to booleans"); +STATISTIC(NumFastCallFns , "Number of functions converted to fastcc"); +STATISTIC(NumCtorsEvaluated, "Number of static ctors evaluated"); +namespace { struct GlobalOpt : public ModulePass { virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<TargetData>(); Index: llvm/lib/Transforms/IPO/IPConstantPropagation.cpp diff -u llvm/lib/Transforms/IPO/IPConstantPropagation.cpp:1.20 llvm/lib/Transforms/IPO/IPConstantPropagation.cpp:1.21 --- llvm/lib/Transforms/IPO/IPConstantPropagation.cpp:1.20 Wed Dec 6 11:46:32 2006 +++ llvm/lib/Transforms/IPO/IPConstantPropagation.cpp Tue Dec 19 16:09:18 2006 @@ -15,6 +15,7 @@ // //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "ipconstprop" #include "llvm/Transforms/IPO.h" #include "llvm/Constants.h" #include "llvm/Instructions.h" @@ -24,12 +25,10 @@ #include "llvm/ADT/Statistic.h" using namespace llvm; -namespace { - Statistic NumArgumentsProped("ipconstprop", - "Number of args turned into constants"); - Statistic NumReturnValProped("ipconstprop", - "Number of return values turned into constants"); +STATISTIC(NumArgumentsProped, "Number of args turned into constants"); +STATISTIC(NumReturnValProped, "Number of return values turned into constants"); +namespace { /// IPCP - The interprocedural constant propagation pass /// struct IPCP : public ModulePass { Index: llvm/lib/Transforms/IPO/IndMemRemoval.cpp diff -u llvm/lib/Transforms/IPO/IndMemRemoval.cpp:1.8 llvm/lib/Transforms/IPO/IndMemRemoval.cpp:1.9 --- llvm/lib/Transforms/IPO/IndMemRemoval.cpp:1.8 Tue Dec 12 18:50:17 2006 +++ llvm/lib/Transforms/IPO/IndMemRemoval.cpp Tue Dec 19 16:09:18 2006 @@ -15,36 +15,27 @@ // //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "indmemrem" #include "llvm/Transforms/IPO.h" #include "llvm/Pass.h" #include "llvm/Module.h" -#include "llvm/Function.h" #include "llvm/Instructions.h" #include "llvm/Type.h" -#include "llvm/Support/Debug.h" #include "llvm/ADT/Statistic.h" -#include <fstream> -#include <set> using namespace llvm; -namespace { - Statistic NumBounceSites("indmemrem", "Number of sites modified"); - Statistic NumBounce ("indmemrem", "Number of bounce functions created"); +STATISTIC(NumBounceSites, "Number of sites modified"); +STATISTIC(NumBounce , "Number of bounce functions created"); +namespace { class IndMemRemPass : public ModulePass { - public: - IndMemRemPass(); virtual bool runOnModule(Module &M); }; RegisterPass<IndMemRemPass> X("indmemrem","Indirect Malloc and Free Removal"); } // end anonymous namespace -IndMemRemPass::IndMemRemPass() -{ -} - bool IndMemRemPass::runOnModule(Module &M) { //in Theory, all direct calls of malloc and free should be promoted //to intrinsics. Therefor, this goes through and finds where the Index: llvm/lib/Transforms/IPO/Inliner.cpp diff -u llvm/lib/Transforms/IPO/Inliner.cpp:1.34 llvm/lib/Transforms/IPO/Inliner.cpp:1.35 --- llvm/lib/Transforms/IPO/Inliner.cpp:1.34 Wed Dec 6 11:46:32 2006 +++ llvm/lib/Transforms/IPO/Inliner.cpp Tue Dec 19 16:09:18 2006 @@ -13,6 +13,7 @@ // //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "inline" #include "Inliner.h" #include "llvm/Module.h" #include "llvm/Instructions.h" @@ -25,10 +26,10 @@ #include <set> using namespace llvm; +STATISTIC(NumInlined, "Number of functions inlined"); +STATISTIC(NumDeleted, "Number of functions deleted because all callers found"); + namespace { - Statistic NumInlined("inline", "Number of functions inlined"); - Statistic NumDeleted("inline", - "Number of functions deleted because all callers found"); cl::opt<unsigned> // FIXME: 200 is VERY conservative InlineLimit("inline-threshold", cl::Hidden, cl::init(200), cl::desc("Control the amount of inlining to perform (default = 200)")); Index: llvm/lib/Transforms/IPO/Internalize.cpp diff -u llvm/lib/Transforms/IPO/Internalize.cpp:1.39 llvm/lib/Transforms/IPO/Internalize.cpp:1.40 --- llvm/lib/Transforms/IPO/Internalize.cpp:1.39 Wed Dec 6 19:30:31 2006 +++ llvm/lib/Transforms/IPO/Internalize.cpp Tue Dec 19 16:09:18 2006 @@ -13,6 +13,7 @@ // //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "internalize" #include "llvm/Transforms/IPO.h" #include "llvm/Pass.h" #include "llvm/Module.h" @@ -23,9 +24,10 @@ #include <set> using namespace llvm; +STATISTIC(NumFunctions, "Number of functions internalized"); +STATISTIC(NumGlobals , "Number of global vars internalized"); + namespace { - 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. Index: llvm/lib/Transforms/IPO/LoopExtractor.cpp diff -u llvm/lib/Transforms/IPO/LoopExtractor.cpp:1.20 llvm/lib/Transforms/IPO/LoopExtractor.cpp:1.21 --- llvm/lib/Transforms/IPO/LoopExtractor.cpp:1.20 Wed Dec 6 11:46:32 2006 +++ llvm/lib/Transforms/IPO/LoopExtractor.cpp Tue Dec 19 16:09:18 2006 @@ -14,6 +14,7 @@ // //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "loop-extract" #include "llvm/Transforms/IPO.h" #include "llvm/Instructions.h" #include "llvm/Module.h" @@ -25,9 +26,9 @@ #include "llvm/ADT/Statistic.h" using namespace llvm; -namespace { - Statistic NumExtracted("loop-extract", "Number of loops extracted"); +STATISTIC(NumExtracted, "Number of loops extracted"); +namespace { // 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 // not a function pass. Index: llvm/lib/Transforms/IPO/LowerSetJmp.cpp diff -u llvm/lib/Transforms/IPO/LowerSetJmp.cpp:1.33 llvm/lib/Transforms/IPO/LowerSetJmp.cpp:1.34 --- llvm/lib/Transforms/IPO/LowerSetJmp.cpp:1.33 Wed Dec 6 11:46:32 2006 +++ llvm/lib/Transforms/IPO/LowerSetJmp.cpp Tue Dec 19 16:09:18 2006 @@ -33,6 +33,7 @@ // pass invokable via the "opt" command at will. //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "lowersetjmp" #include "llvm/Transforms/IPO.h" #include "llvm/Constants.h" #include "llvm/DerivedTypes.h" @@ -49,16 +50,12 @@ #include "llvm/ADT/VectorExtras.h" using namespace llvm; -namespace { - Statistic LongJmpsTransformed("lowersetjmp", - "Number of longjmps transformed"); - Statistic SetJmpsTransformed("lowersetjmp", - "Number of setjmps transformed"); - Statistic CallsTransformed("lowersetjmp", - "Number of calls invokified"); - Statistic InvokesTransformed("lowersetjmp", - "Number of invokes modified"); +STATISTIC(LongJmpsTransformed, "Number of longjmps transformed"); +STATISTIC(SetJmpsTransformed , "Number of setjmps transformed"); +STATISTIC(CallsTransformed , "Number of calls invokified"); +STATISTIC(InvokesTransformed , "Number of invokes modified"); +namespace { //===--------------------------------------------------------------------===// // LowerSetJmp pass implementation. class LowerSetJmp : public ModulePass, Index: llvm/lib/Transforms/IPO/PruneEH.cpp diff -u llvm/lib/Transforms/IPO/PruneEH.cpp:1.25 llvm/lib/Transforms/IPO/PruneEH.cpp:1.26 --- llvm/lib/Transforms/IPO/PruneEH.cpp:1.25 Wed Dec 6 11:46:32 2006 +++ llvm/lib/Transforms/IPO/PruneEH.cpp Tue Dec 19 16:09:18 2006 @@ -14,6 +14,7 @@ // //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "prune-eh" #include "llvm/Transforms/IPO.h" #include "llvm/CallGraphSCCPass.h" #include "llvm/Constants.h" @@ -27,10 +28,10 @@ #include <algorithm> using namespace llvm; -namespace { - Statistic NumRemoved("prune-eh", "Number of invokes removed"); - Statistic NumUnreach("prune-eh", "Number of noreturn calls optimized"); +STATISTIC(NumRemoved, "Number of invokes removed"); +STATISTIC(NumUnreach, "Number of noreturn calls optimized"); +namespace { struct PruneEH : public CallGraphSCCPass { /// DoesNotUnwind - This set contains all of the functions which we have /// determined cannot unwind. Index: llvm/lib/Transforms/IPO/RaiseAllocations.cpp diff -u llvm/lib/Transforms/IPO/RaiseAllocations.cpp:1.33 llvm/lib/Transforms/IPO/RaiseAllocations.cpp:1.34 --- llvm/lib/Transforms/IPO/RaiseAllocations.cpp:1.33 Tue Dec 12 18:50:17 2006 +++ llvm/lib/Transforms/IPO/RaiseAllocations.cpp Tue Dec 19 16:09:18 2006 @@ -12,6 +12,7 @@ // //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "raiseallocs" #include "llvm/Transforms/IPO.h" #include "llvm/Constants.h" #include "llvm/DerivedTypes.h" @@ -22,9 +23,9 @@ #include "llvm/ADT/Statistic.h" using namespace llvm; -namespace { - Statistic NumRaised("raiseallocs", "Number of allocations raised"); +STATISTIC(NumRaised, "Number of allocations raised"); +namespace { // RaiseAllocations - Turn %malloc and %free calls into the appropriate // instruction. // Index: llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp diff -u llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp:1.76 llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp:1.77 --- llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp:1.76 Wed Dec 13 02:04:32 2006 +++ llvm/lib/Transforms/IPO/SimplifyLibCalls.cpp Tue Dec 19 16:09:18 2006 @@ -31,17 +31,15 @@ #include "llvm/Transforms/IPO.h" using namespace llvm; -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", - "Number of library calls simplified"); - -// Forward declarations -class LibCallOptimization; -class SimplifyLibCalls; +STATISTIC(SimplifiedLibCalls, "Number of library calls simplified"); +namespace { + // Forward declarations + class LibCallOptimization; + class SimplifyLibCalls; + /// This list is populated by the constructor for LibCallOptimization class. /// Therefore all subclasses are registered here at static initialization time /// and this list is what the SimplifyLibCalls pass uses to apply the individual _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits