Updated ProfileInfo to have clean seperation between different sentinels.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81335 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Andreas Neustifter
2009-09-09 12:48:26 +00:00
parent d8b0630027
commit 1f3b00272a
4 changed files with 38 additions and 17 deletions

View File

@ -18,6 +18,7 @@
#include "llvm/Pass.h"
#include "llvm/Analysis/Passes.h"
#include "llvm/Analysis/ProfileInfo.h"
#include "llvm/Analysis/ProfileInfoLoader.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/Debug.h"
@ -113,8 +114,8 @@ bool OptimalEdgeProfiler::runOnModule(Module &M) {
NumEdgesInserted = 0;
std::vector<Constant*> Initializer(NumEdges);
Constant* zeroc = ConstantInt::get(Int32, 0);
Constant* minusonec = ConstantInt::get(Int32, ProfileInfo::MissingValue);
Constant* Zero = ConstantInt::get(Int32, 0);
Constant* Uncounted = ConstantInt::get(Int32, ProfileInfoLoader::Uncounted);
// Instrument all of the edges not in MST...
unsigned i = 0;
@ -144,9 +145,9 @@ bool OptimalEdgeProfiler::runOnModule(Module &M) {
if (!std::binary_search(MST.begin(), MST.end(), edge)) {
printEdgeCounter(edge,entry,i);
IncrementCounterInBlock(entry, i, Counters); NumEdgesInserted++;
Initializer[i++] = (zeroc);
Initializer[i++] = (Zero);
} else{
Initializer[i++] = (minusonec);
Initializer[i++] = (Uncounted);
}
// InsertedBlocks contains all blocks that were inserted for splitting an
@ -167,9 +168,9 @@ bool OptimalEdgeProfiler::runOnModule(Module &M) {
if (!std::binary_search(MST.begin(), MST.end(), edge)) {
printEdgeCounter(edge,BB,i);
IncrementCounterInBlock(BB, i, Counters); NumEdgesInserted++;
Initializer[i++] = (zeroc);
Initializer[i++] = (Zero);
} else{
Initializer[i++] = (minusonec);
Initializer[i++] = (Uncounted);
}
}
for (unsigned s = 0, e = TI->getNumSuccessors(); s != e; ++s) {
@ -195,9 +196,9 @@ bool OptimalEdgeProfiler::runOnModule(Module &M) {
printEdgeCounter(edge,Succ,i);
IncrementCounterInBlock(Succ, i, Counters); NumEdgesInserted++;
}
Initializer[i++] = (zeroc);
Initializer[i++] = (Zero);
} else {
Initializer[i++] = (minusonec);
Initializer[i++] = (Uncounted);
}
}
}