[llvm-commits] CVS: llvm/lib/Transforms/IPO/ArgumentPromotion.cpp ConstantMerge.cpp DeadArgumentElimination.cpp DeadTypeElimination.cpp FunctionResolution.cpp GlobalDCE.cpp GlobalOpt.cpp IPConstantPropagation.cpp IndMemRemoval.cpp Inliner.cpp Internalize.cpp LoopExtractor.cpp LowerSetJmp.cpp PruneEH.cpp RaiseAllocations.cpp SimplifyLibCalls.cpp
Chris Lattner
sabre at nondot.org
Tue Dec 19 14:09:33 PST 2006
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
More information about the llvm-commits
mailing list