mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-14 14:24:05 +00:00
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:
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user