Home | History | Annotate | Download | only in Analysis

Lines Matching refs:Graph

15 // papers, we build a graph of the uses of a variable, where each node is a
23 // Because this algorithm requires a graph search on each query, we execute the
25 // in order to transform the graph into sets of variables that may alias in
155 // \brief Gets the edges our graph should have, based on an Instruction*
463 // users of in order to build our graph. In some cases (i.e. add),
496 // Set building requires a weighted bidirectional graph.
529 // ----- Various Edge iterators for the graph ----- //
531 // \brief Iterator for edges. Because this graph is bidirected, we don't
585 // ----- Actual graph-related things ----- //
623 // \brief Gets an arbitrary node in the graph as a starting point for
658 // Builds the graph needed for constructing the StratifiedSets for the
669 // Given an Instruction, this will add it to the graph, along with any
674 // instructions to the graph appropriately.
814 NodeMapT &Map, GraphT &Graph) {
815 const auto findOrInsertNode = [&Map, &Graph](Value *Val) {
819 auto NewNode = Graph.addNode();
846 const auto addEdgeToGraph = [&Graph, &findOrInsertNode](const Edge &E) {
851 Graph.addEdge(From, To, std::make_pair(E.Weight, Attrs),
871 // Aside: We may remove graph construction entirely, because it doesn't really
873 // analysis prior to this however, in case that somehow requires the graph
877 NodeMapT &Map, GraphT &Graph) {
880 addInstructionToGraph(Analysis, Inst, ReturnedValues, Map, Graph);
895 // the data is *actually* mutable at graph building time. This will probably
905 // Builds the graph + StratifiedSets for a function.
908 GraphT Graph;
911 buildGraphFrom(*this, Fn, ReturnedValues, Map, Graph);
940 for (const auto &EdgeTuple : Graph.edgesFor(Node)) {
976 // There are times when we end up with parameters not in our graph (i.e. if
978 // things that were present during construction being present in the graph.