eliminate static ctors from Statistics

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32697 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2006-12-19 22:30:33 +00:00
parent cbfdd1f840
commit 3b27d68c6a
4 changed files with 41 additions and 56 deletions

View File

@ -64,18 +64,13 @@
#include <set>
using namespace llvm;
namespace {
Statistic
NumIters("anders-aa", "Number of iterations to reach convergence");
Statistic
NumConstraints("anders-aa", "Number of constraints");
Statistic
NumNodes("anders-aa", "Number of nodes");
Statistic
NumEscapingFunctions("anders-aa", "Number of internal functions that escape");
Statistic
NumIndirectCallees("anders-aa", "Number of indirect callees found");
STATISTIC(NumIters , "Number of iterations to reach convergence");
STATISTIC(NumConstraints , "Number of constraints");
STATISTIC(NumNodes , "Number of nodes");
STATISTIC(NumEscapingFunctions, "Number of internal functions that escape");
STATISTIC(NumIndirectCallees , "Number of indirect callees found");
namespace {
class Andersens : public ModulePass, public AliasAnalysis,
private InstVisitor<Andersens> {
/// Node class - This class is used to represent a memory object in the

View File

@ -14,6 +14,7 @@
//
//===----------------------------------------------------------------------===//
#define DEBUG_TYPE "globalsmodref-aa"
#include "llvm/Analysis/Passes.h"
#include "llvm/Module.h"
#include "llvm/Pass.h"
@ -29,23 +30,14 @@
#include <set>
using namespace llvm;
STATISTIC(NumNonAddrTakenGlobalVars,
"Number of global vars without address taken");
STATISTIC(NumNonAddrTakenFunctions,"Number of functions without address taken");
STATISTIC(NumNoMemFunctions, "Number of functions that do not access memory");
STATISTIC(NumReadMemFunctions, "Number of functions that only read memory");
STATISTIC(NumIndirectGlobalVars, "Number of indirect global objects");
namespace {
Statistic
NumNonAddrTakenGlobalVars("globalsmodref-aa",
"Number of global vars without address taken");
Statistic
NumNonAddrTakenFunctions("globalsmodref-aa",
"Number of functions without address taken");
Statistic
NumNoMemFunctions("globalsmodref-aa",
"Number of functions that do not access memory");
Statistic
NumReadMemFunctions("globalsmodref-aa",
"Number of functions that only read memory");
Statistic
NumIndirectGlobalVars("globalsmodref-aa",
"Number of indirect global objects");
/// FunctionRecord - One instance of this structure is stored for every
/// function in the program. Later, the entries for these functions are
/// removed if the function is found to call an external function (in which

View File

@ -11,6 +11,7 @@
//
//===----------------------------------------------------------------------===//
#define DEBUG_TYPE "instcount"
#include "llvm/Analysis/Passes.h"
#include "llvm/Pass.h"
#include "llvm/Function.h"
@ -20,17 +21,18 @@
#include <ostream>
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 , "Number of instructions (of all types)");
STATISTIC(TotalBlocks, "Number of basic blocks");
STATISTIC(TotalFuncs , "Number of non-external functions");
STATISTIC(TotalMemInst, "Number of memory instructions");
#define HANDLE_INST(N, OPCODE, CLASS) \
Statistic Num##OPCODE##Inst("instcount", "Number of " #OPCODE " insts");
STATISTIC(Num ## OPCODE ## Inst, "Number of " #OPCODE " insts");
#include "llvm/Instruction.def"
namespace {
class InstCount : public FunctionPass, public InstVisitor<InstCount> {
friend class InstVisitor<InstCount>;

View File

@ -59,6 +59,7 @@
//
//===----------------------------------------------------------------------===//
#define DEBUG_TYPE "scalar-evolution"
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
#include "llvm/Constants.h"
#include "llvm/DerivedTypes.h"
@ -82,32 +83,27 @@
#include <cmath>
using namespace llvm;
STATISTIC(NumBruteForceEvaluations,
"Number of brute force evaluations needed to "
"calculate high-order polynomial exit values");
STATISTIC(NumArrayLenItCounts,
"Number of trip counts computed with array length");
STATISTIC(NumTripCountsComputed,
"Number of loops with predictable loop counts");
STATISTIC(NumTripCountsNotComputed,
"Number of loops without predictable loop counts");
STATISTIC(NumBruteForceTripCountsComputed,
"Number of loops with trip counts computed by force");
cl::opt<unsigned>
MaxBruteForceIterations("scalar-evolution-max-iterations", cl::ReallyHidden,
cl::desc("Maximum number of iterations SCEV will "
"symbolically execute a constant derived loop"),
cl::init(100));
namespace {
RegisterPass<ScalarEvolution>
R("scalar-evolution", "Scalar Evolution Analysis");
Statistic
NumBruteForceEvaluations("scalar-evolution",
"Number of brute force evaluations needed to "
"calculate high-order polynomial exit values");
Statistic
NumArrayLenItCounts("scalar-evolution",
"Number of trip counts computed with array length");
Statistic
NumTripCountsComputed("scalar-evolution",
"Number of loops with predictable loop counts");
Statistic
NumTripCountsNotComputed("scalar-evolution",
"Number of loops without predictable loop counts");
Statistic
NumBruteForceTripCountsComputed("scalar-evolution",
"Number of loops with trip counts computed by force");
cl::opt<unsigned>
MaxBruteForceIterations("scalar-evolution-max-iterations", cl::ReallyHidden,
cl::desc("Maximum number of iterations SCEV will "
"symbolically execute a constant derived loop"),
cl::init(100));
}
//===----------------------------------------------------------------------===//