Lines Matching refs:Edge
38 std::map<Edge,double> MinimalWeight;
71 void inline printEdgeWeight(Edge);
101 static void inline printEdgeError(ProfileInfo::Edge e, const char *M) {
102 DEBUG(dbgs() << "-- Edge " << e << " is not calculated, " << M << "\n");
105 void inline ProfileEstimatorPass::printEdgeWeight(Edge E) {
106 DEBUG(dbgs() << "-- Weight of Edge " << E << ":"
116 // flow, once an edge has a flow assigned this flow is never changed again,
134 Edge edge = getEdge(*bbi,BB);
135 double w = getEdgeWeight(edge);
140 // loop, thus the edge is a backedge, continue and do not check if the
143 printEdgeError(edge, "but is backedge, continuing");
149 printEdgeError(edge, "returning");
158 SmallVector<Edge, 8> ExitEdges;
159 SmallVector<Edge, 8> Edges;
172 // *) In case there is not a single exiting edge left, create one at the loop
183 std::set<Edge> ProcessedExits;
184 for (SmallVectorImpl<Edge>::iterator ei = ExitEdges.begin(),
205 Edge edge = getEdge(Latch,0);
206 EdgeInformation[BB->getParent()][edge] = BBWeight;
207 printEdgeWeight(edge);
208 edge = getEdge(Latch, BB);
209 EdgeInformation[BB->getParent()][edge] = BBWeight * ExecCount;
210 printEdgeWeight(edge);
216 // be distributed is split and the rounded, the last edge gets a somewhat
219 for (SmallVectorImpl<Edge>::iterator ei = Edges.begin(), ee = Edges.end();
242 Edge e = getEdge(Parent, Dest);
267 Edge edge = getEdge(BB,0);
268 EdgeInformation[BB->getParent()][edge] = BBWeight;
269 printEdgeWeight(edge);
273 Edge edge = getEdge(BB,*bbi);
274 double w = getEdgeWeight(edge);
276 BBWeight -= getEdgeWeight(edge);
278 Edges.push_back(edge);
281 if (MinimalWeight.find(edge) != MinimalWeight.end()) {
282 BBWeight -= MinimalWeight[edge];
283 DEBUG(dbgs() << "Reserving " << format("%.20g",MinimalWeight[edge]) << " at " << edge << "\n");
292 for (SmallVectorImpl<Edge>::iterator ei = Edges.begin(), ee = Edges.end();
337 // Since the entry block is the first one and has no predecessors, the edge
341 Edge edge = getEdge(0,entry);
342 EdgeInformation[&F][edge] = BlockInformation[&F][entry];
343 printEdgeWeight(edge);
372 Edge e = getEdge(*bbi,BB);
374 // Check that edge from predecessor is still free.
380 // If there is no circle, just set edge weight to 0
382 DEBUG(dbgs() << "Assuming edge weight: ");
406 Edge e = getEdge(0,BB);
410 Edge e = getEdge(*predi,BB);
415 Edge e = getEdge(BB,0);
419 Edge e = getEdge(*succi,BB);