mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-09 12:04:02 +00:00
[Analysis] RemoveTotalMemInst counting in InstCount to avoid reading back other Statistic variables
Summary: Previously, we counted TotalMemInst by reading certain instruction counters before and after calling visit and then finding the difference. But that wouldn't be thread safe if this same pass was being ran on multiple threads. This list of "memory instructions" doesn't make sense to me as it includes call/invoke and is missing atomics. This patch removes the counter all together. Reviewers: hfinkel, chandlerc, davide Reviewed By: davide Subscribers: davide, llvm-commits Differential Revision: https://reviews.llvm.org/D33608 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308260 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0b1f2e3eda
commit
e9e008859f
@ -26,7 +26,6 @@ using namespace llvm;
|
||||
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, "Number of " #OPCODE " insts");
|
||||
@ -75,13 +74,6 @@ FunctionPass *llvm::createInstCountPass() { return new InstCount(); }
|
||||
// function.
|
||||
//
|
||||
bool InstCount::runOnFunction(Function &F) {
|
||||
unsigned StartMemInsts =
|
||||
NumGetElementPtrInst + NumLoadInst + NumStoreInst + NumCallInst +
|
||||
NumInvokeInst + NumAllocaInst;
|
||||
visit(F);
|
||||
unsigned EndMemInsts =
|
||||
NumGetElementPtrInst + NumLoadInst + NumStoreInst + NumCallInst +
|
||||
NumInvokeInst + NumAllocaInst;
|
||||
TotalMemInst += EndMemInsts-StartMemInsts;
|
||||
return false;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user