projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Check .rela instead of ELF64 for the compensation vaue resetting
[oota-llvm.git]
/
lib
/
Analysis
/
InstCount.cpp
diff --git
a/lib/Analysis/InstCount.cpp
b/lib/Analysis/InstCount.cpp
index 82b2245a3bb4e590227263394e50375b44079575..3b385d26ba3c07245a6cdfcce01b18ac86a167ee 100644
(file)
--- a/
lib/Analysis/InstCount.cpp
+++ b/
lib/Analysis/InstCount.cpp
@@
-2,8
+2,8
@@
//
// The LLVM Compiler Infrastructure
//
//
// The LLVM Compiler Infrastructure
//
-// This file
was developed by the LLVM research group and is distributed under
-//
the University of Illinois Open Source
License. See LICENSE.TXT for details.
+// This file
is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
//
//===----------------------------------------------------------------------===//
//
@@
-15,11
+15,11
@@
#include "llvm/Analysis/Passes.h"
#include "llvm/Pass.h"
#include "llvm/Function.h"
#include "llvm/Analysis/Passes.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/InstVisitor.h"
#include "llvm/Support/InstVisitor.h"
-#include "llvm/Support/
Streams
.h"
+#include "llvm/Support/
raw_ostream
.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/Statistic.h"
-#include <ostream>
using namespace llvm;
STATISTIC(TotalInsts , "Number of instructions (of all types)");
using namespace llvm;
STATISTIC(TotalInsts , "Number of instructions (of all types)");
@@
-34,8
+34,7
@@
STATISTIC(TotalMemInst, "Number of memory instructions");
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; }
@@
-47,27
+46,29
@@
namespace {
#include "llvm/Instruction.def"
void visitInstruction(Instruction &I) {
#include "llvm/Instruction.def"
void visitInstruction(Instruction &I) {
-
cerr
<< "Instruction Count does not know about " << I;
-
abort(
);
+
errs()
<< "Instruction Count does not know about " << I;
+
llvm_unreachable(0
);
}
public:
static char ID; // Pass identification, replacement for typeid
}
public:
static char ID; // Pass identification, replacement for typeid
- InstCount() : FunctionPass((intptr_t)&ID) {}
+ InstCount() : FunctionPass(ID) {
+ initializeInstCountPass(*PassRegistry::getPassRegistry());
+ }
virtual bool runOnFunction(Function &F);
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
}
virtual bool runOnFunction(Function &F);
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
}
- virtual void print(
std::
ostream &O, const Module *M) const {}
+ virtual void print(
raw_
ostream &O, const Module *M) const {}
};
};
-
- char InstCount::ID = 0;
- RegisterPass<InstCount> X("instcount",
- "Counts the various types of Instructions");
}
}
+char InstCount::ID = 0;
+INITIALIZE_PASS(InstCount, "instcount",
+ "Counts the various types of Instructions", false, true)
+
FunctionPass *llvm::createInstCountPass() { return new InstCount(); }
// InstCount::run - This is the main Analysis entry point for a
FunctionPass *llvm::createInstCountPass() { return new InstCount(); }
// InstCount::run - This is the main Analysis entry point for a
@@
-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
+ NumMallocInst + NumFreeInst
;
+ NumInvokeInst + NumAllocaInst;
visit(F);
unsigned EndMemInsts =
NumGetElementPtrInst + NumLoadInst + NumStoreInst + NumCallInst +
visit(F);
unsigned EndMemInsts =
NumGetElementPtrInst + NumLoadInst + NumStoreInst + NumCallInst +
- NumInvokeInst + NumAllocaInst
+ NumMallocInst + NumFreeInst
;
+ NumInvokeInst + NumAllocaInst;
TotalMemInst += EndMemInsts-StartMemInsts;
return false;
}
TotalMemInst += EndMemInsts-StartMemInsts;
return false;
}