Home | History | Annotate | Download | only in Analysis

Lines Matching refs:Edges

113 // weight of the incoming edges must be equal the block weight which must in
114 // turn be equal to the sume of the weights of the outgoing edges.
128 // To get the block weight, read all incoming edges.
146 // If the edges value is missing (and this is no loop header, and this is
159 SmallVector<Edge, 8> Edges;
167 // *) get all the exit edges, read the flow that is already leaving this
168 // loop, remember the edges that do not have any flow on them right now.
169 // (The edges that have already flow on them are most likely exiting edges of
175 // the remaining exiting edges.
189 Edges.push_back(*ei);
201 // If no exit edges, create one:
202 if (Edges.size() == 0) {
214 // Distribute remaining weight to the exting edges. To prevent fractions
218 double fraction = floor(incoming/Edges.size());
219 for (SmallVectorImpl<Edge>::iterator ei = Edges.begin(), ee = Edges.end();
236 // Add minimal weight to paths to all exit edges, this is used to ensure
237 // that enough flow is reaching this edges.
256 // Up until now we considered only the loop exiting edges, now we have a
257 // definite block weight and must distribute this onto the outgoing edges.
258 // Since there may be already flow attached to some of the edges, read this
259 // flow first and remember the edges that have still now flow attached.
260 Edges.clear();
264 // Also check for (BB,0) edges that may already contain some flow. (But only
278 Edges.push_back(edge);
289 double fraction = Edges.size() ? floor(BBWeight/Edges.size()) : 0.0;
291 // flow onto the empty edges.
292 for (SmallVectorImpl<Edge>::iterator ei = Edges.begin(), ee = Edges.end();
332 // Clear Minimal Edges.
395 // In case there was no safe way to assume edges, set as a last measure,