Home | History | Annotate | Download | only in Instrumentation

Lines Matching full:edge

16 // the entry and exit), the sum of incoming edge counts equals the sum of
17 // outgoing edge counts. The count of edge on spanning tree can be derived from
27 // (1) Pass PGOInstrumentationGen which instruments the IR to generate edge
29 // (2) Pass PGOInstrumentationUse which reads the edge count profile and
39 // Class PGOEdge represents a CFG edge and some auxiliary information. Class
80 STATISTIC(NumOfPGOSplit, "Number of critical edge splits.");
182 // Return the information string of an edge.
204 template <class Edge, class BBInfo> class FuncPGOInstrumentation {
216 CFGMST<Edge, BBInfo> MST;
218 // Give an edge, find the BB that will be instrumented.
220 BasicBlock *getInstrBB(Edge *E);
255 template <class Edge, class BBInfo>
256 void FuncPGOInstrumentation<Edge, BBInfo>::computeCFGHash() {
273 // code. The function will split the critical edge if necessary.
274 template <class Edge, class BBInfo>
275 BasicBlock *FuncPGOInstrumentation<Edge, BBInfo>::getInstrBB(Edge *E) {
281 // For a fake edge, instrument the real BB.
288 // otherwise, the DestBB if this is not a critical edge.
295 // For a critical edge, we have to split. Instrument the newly
298 DEBUG(dbgs() << "Split critical edge: " << getBBInfo(SrcBB).Index << " --> "
302 assert(InstrBB && "Critical edge is not split");
308 // Visit all edge and instrument the edges not in MST.
338 // This class represents a CFG edge in profile use compilation.
345 // Set edge count value
420 // Set the edge counter value for the unknown edge -- there should be only
421 // one unknown edge.
483 // Add new edge of SrcBB->InstrBB.
486 // Add new edge of InstrBB->DestBB.
494 // Set the count value for the unknown edge. There should be one and only one
495 // unknown edge in Edges vector.
506 llvm_unreachable("Cannot find the unknown count edge");