Home | History | Annotate | Download | only in Scalar

Lines Matching defs:Edge

1542     // If any of these blocks has more than one successor (i.e. if the edge we
1573 DEBUG(dbgs() << "COULD NOT PRE LOAD BECAUSE OF INDBR CRITICAL EDGE '"
1580 << "COULD NOT PRE LOAD BECAUSE OF LANDING PAD CRITICAL EDGE '"
1609 DEBUG(dbgs() << "Split critical edge " << OrigPred->getName() << "->"
1649 // HINT: Don't revert the edge-splitting as following transformation may
2053 /// There is an edge from 'Src' to 'Dst'. Return
2054 /// true if every path from the entry block to 'Dst' passes via this edge. In
2055 /// particular 'Dst' must not be reachable via another edge from 'Src'.
2065 assert((!Pred || Pred == Src) && "No edge between these basic blocks!");
2121 // have the simple case where the edge dominates the end.
2209 // have the simple case where the edge dominates the end.
2294 // If there is only a single edge, propagate the case value into it.
2392 // we can't do this until PRE's critical edge splitting updates memdep.
2564 // We can't do PRE safely on a critical edge, so instead we schedule
2565 // the edge to be split and perform the PRE the next time we iterate
2655 /// Split the critical edge connecting the given two blocks, and return
2656 /// the block inserted to the critical edge.
2671 std::pair<TerminatorInst*, unsigned> Edge = toSplit.pop_back_val();
2672 SplitCriticalEdge(Edge.first, Edge.second,
2686 // split critical edge, and hence may invalidate the RPO/DT iterator.
2811 // 1) If the dead out-coming edge is a critical-edge, split it. Let
2812 // R be the target of the dead out-coming edge.
2814 // edge. The result of this step will be {X| X is dominated by R}