projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Extend 'readonly' and 'readnone' to work on function arguments as well as
[oota-llvm.git]
/
lib
/
Analysis
/
InstCount.cpp
diff --git
a/lib/Analysis/InstCount.cpp
b/lib/Analysis/InstCount.cpp
index 4cde793577283b7c30cc93291937d5ad92776b75..75a49eb90a88fa3357a5da2ba54b0d01ef73be33 100644
(file)
--- a/
lib/Analysis/InstCount.cpp
+++ b/
lib/Analysis/InstCount.cpp
@@
-13,13
+13,13
@@
#define DEBUG_TYPE "instcount"
#include "llvm/Analysis/Passes.h"
#define DEBUG_TYPE "instcount"
#include "llvm/Analysis/Passes.h"
+#include "llvm/ADT/Statistic.h"
+#include "llvm/IR/Function.h"
+#include "llvm/InstVisitor.h"
#include "llvm/Pass.h"
#include "llvm/Pass.h"
-#include "llvm/Function.h"
-#include "llvm/Support/Compiler.h"
+#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/ErrorHandling.h"
-#include "llvm/Support/InstVisitor.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/raw_ostream.h"
-#include "llvm/ADT/Statistic.h"
using namespace llvm;
STATISTIC(TotalInsts , "Number of instructions (of all types)");
using namespace llvm;
STATISTIC(TotalInsts , "Number of instructions (of all types)");
@@
-30,12
+30,11
@@
STATISTIC(TotalMemInst, "Number of memory instructions");
#define HANDLE_INST(N, OPCODE, CLASS) \
STATISTIC(Num ## OPCODE ## Inst, "Number of " #OPCODE " insts");
#define HANDLE_INST(N, OPCODE, CLASS) \
STATISTIC(Num ## OPCODE ## Inst, "Number of " #OPCODE " insts");
-#include "llvm/Instruction.def"
+#include "llvm/I
R/I
nstruction.def"
namespace {
namespace {
- class VISIBILITY_HIDDEN InstCount
- : public FunctionPass, public InstVisitor<InstCount> {
+ class InstCount : public FunctionPass, public InstVisitor<InstCount> {
friend class InstVisitor<InstCount>;
void visitFunction (Function &F) { ++TotalFuncs; }
friend class InstVisitor<InstCount>;
void visitFunction (Function &F) { ++TotalFuncs; }
@@
-44,7
+43,7
@@
namespace {
#define HANDLE_INST(N, OPCODE, CLASS) \
void visit##OPCODE(CLASS &) { ++Num##OPCODE##Inst; ++TotalInsts; }
#define HANDLE_INST(N, OPCODE, CLASS) \
void visit##OPCODE(CLASS &) { ++Num##OPCODE##Inst; ++TotalInsts; }
-#include "llvm/Instruction.def"
+#include "llvm/I
R/I
nstruction.def"
void visitInstruction(Instruction &I) {
errs() << "Instruction Count does not know about " << I;
void visitInstruction(Instruction &I) {
errs() << "Instruction Count does not know about " << I;
@@
-52,7
+51,9
@@
namespace {
}
public:
static char ID; // Pass identification, replacement for typeid
}
public:
static char ID; // Pass identification, replacement for typeid
- InstCount() : FunctionPass(&ID) {}
+ InstCount() : FunctionPass(ID) {
+ initializeInstCountPass(*PassRegistry::getPassRegistry());
+ }
virtual bool runOnFunction(Function &F);
virtual bool runOnFunction(Function &F);
@@
-65,8
+66,8
@@
namespace {
}
char InstCount::ID = 0;
}
char InstCount::ID = 0;
-static RegisterPass<InstCount>
-X("instcount", "Counts the various types of Instructions", false, true);
+INITIALIZE_PASS(InstCount, "instcount",
+ "Counts the various types of Instructions", false, true)
FunctionPass *llvm::createInstCountPass() { return new InstCount(); }
FunctionPass *llvm::createInstCountPass() { return new InstCount(); }
@@
-76,11
+77,11
@@
FunctionPass *llvm::createInstCountPass() { return new InstCount(); }
bool InstCount::runOnFunction(Function &F) {
unsigned StartMemInsts =
NumGetElementPtrInst + NumLoadInst + NumStoreInst + NumCallInst +
bool InstCount::runOnFunction(Function &F) {
unsigned StartMemInsts =
NumGetElementPtrInst + NumLoadInst + NumStoreInst + NumCallInst +
- NumInvokeInst + NumAllocaInst
+ NumFreeInst
;
+ NumInvokeInst + NumAllocaInst;
visit(F);
unsigned EndMemInsts =
NumGetElementPtrInst + NumLoadInst + NumStoreInst + NumCallInst +
visit(F);
unsigned EndMemInsts =
NumGetElementPtrInst + NumLoadInst + NumStoreInst + NumCallInst +
- NumInvokeInst + NumAllocaInst
+ NumFreeInst
;
+ NumInvokeInst + NumAllocaInst;
TotalMemInst += EndMemInsts-StartMemInsts;
return false;
}
TotalMemInst += EndMemInsts-StartMemInsts;
return false;
}