Home
last modified time | relevance | path

Searched full:edges (Results 1 – 25 of 502) sorted by relevance

12345678910>>...21

/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/
H A DProfiledCallGraph.h39 // Sort edges by callee names only since all edges to be compared are from
50 using edges = std::set<edge, ProfiledCallGraphEdgeComparer>;
51 using iterator = edges::iterator;
52 using const_iterator = edges::const_iterator; member
58 edges Edges;
74 // Trim edges with weight up to `IgnoreColdCallThreshold`. This aims
75 // for a more stable call graph with "determinstic" edges from run to run.
82 // BFS traverse the context profile trie to add call edges fo
59 edges Edges; global() member
158 auto &Edges = ProfiledFunctions[CallerName].Edges; global() variable
197 auto &Edges = Node.second.Edges; global() variable
[all...]
/freebsd/contrib/llvm-project/llvm/include/llvm/ADT/
H A DDirectedGraph.h72 /// The node has a (possibly empty) list of outgoing edges.
80 explicit DGNode(EdgeType &E) : Edges() { Edges.insert(&E); } in DGNode()
83 explicit DGNode(const DGNode<NodeType, EdgeType> &N) : Edges(N.Edges) {} in DGNode()
84 DGNode(DGNode<NodeType, EdgeType> &&N) : Edges(std::move(N.Edges)) {} in DGNode()
87 Edges = N.Edges;
91 Edges = std::move(N.Edges);
104 const_iterator begin() const { return Edges.begin(); } in begin()
105 const_iterator end() const { return Edges.end(); } in end()
106 iterator begin() { return Edges.begin(); } in begin()
107 iterator end() { return Edges.end(); } in end()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/XRay/
H A DGraph.h48 /// Usage Example Graph with weighted edges and vertices:
58 /// for(const auto &e : G.edges()){
59 /// // Do something with the edges in the graph;
76 /// These objects are used to name edges and vertices in the graph.
85 /// This type is the value_type of all iterators which range over edges,
86 /// Determined by the Edges DenseMap.
99 /// The type used for storing the edges entering a vertex. Indexed by
101 /// where the incoming edges are, the EdgeIdentifiers are stored in an
112 EdgeMapT Edges;
171 /// A const iterator type for iterating through the set of edges enterin
355 EdgeView<false> edges() { return EdgeView<false>(*this); } edges() function
357 EdgeView<true> edges() const { return EdgeView<true>(*this); } edges() function
[all...]
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DLazyCallGraph.h15 /// edges in this call graph that do not correspond to a 'call' or 'invoke'
66 /// With the edges of this graph, the motivating constraint that we are
85 /// both the direct call edges and any direct call edges that might be formed
90 /// edges for functions. Walking "up" the graph can be done by looking at all
117 /// A class used to represent edges in the call graph.
119 /// The lazy call graph models both *call* edges and *reference* edges. Call
120 /// edges are much what you would expect, and exist when there is a 'call' or
121 /// 'invoke' instruction of some function. Reference edges are also tracked
123 /// through its operands) references a function. All call edges are
124 /// inherently reference edges, and so the reference graph forms a superset
[all …]
H A DBranchProbabilityInfo.h48 /// probabilities of other edges from the block. The probabilites of all edges
51 /// identify an edge, since we can have multiple edges from Src to Dst.
60 /// from this rule though. Probabilities for edges leading to "unreachable"
152 /// Get an edge's probability, relative to other out-edges of the Src.
155 /// (0%) and one (100%) of this edge executing, relative to other edges
163 /// It returns the sum of all probabilities for edges from Src to Dst.
170 /// Test if an edge is hot relative to other out-edges of the Src.
185 /// Set the raw probabilities for all edges from the given block.
199 /// Swap outgoing edges probabilities for \p Src with branch terminator
326 // Since we allow duplicate edges from one basic block to another, we use
[all …]
H A DCallGraph.h21 /// 1. All functions in the module without internal linkage will have edges
81 /// This node has edges to all external functions and those internal
85 /// This node has edges to it from all functions making indirect calls
146 /// functions (ie, there are no edges in it's CGN). The easiest way to do
171 /// in the call graph - reference or a call edge. Reference edges are not
173 /// set to `None`, while real call edges have instruction address in this
174 /// field. Therefore, all real call edges are expected to have a value in the
176 /// Reference edges, for example, are used for connecting broker function
225 /// Removes all edges from this CallGraphNode to any functions it
260 /// Removes all call edges fro
[all...]
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DImmutableGraph.h11 /// implemented as two arrays: one containing nodes, and one containing edges.
14 /// 2. Operations on sets of nodes/edges are efficient, and representations of
15 /// those sets in memory are compact. For instance, a set of edges is
62 const Edge *Edges; variable
68 const Edge *edges_begin() const { return Edges; } in edges_begin()
69 // Nodes are allocated sequentially. Edges for a node are stored together.
70 // The end of this Node's edges is the beginning of the next node's edges.
73 const Edge *edges_end() const { return (this + 1)->Edges; } in edges_end()
74 ArrayRef<Edge> edges() const { in edges() function
80 ImmutableGraph(std::unique_ptr<Node[]> Nodes, std::unique_ptr<Edge[]> Edges, in ImmutableGraph() argument
[all …]
H A DX86LoadValueInjectionLoadHardening.cpp108 unsigned int *Edges, int *EdgeValues,
123 std::unique_ptr<Edge[]> Edges, size_type NodesSize, in MachineGadgetGraph()
125 : GraphT(std::move(Nodes), std::move(Edges), NodesSize, EdgesSize), in MachineGadgetGraph()
539 // Returns the number of remaining gadget edges that could not be eliminated
544 // Eliminate fences and CFG edges that ingress and egress the fence, as in elimMitigatedEdgesAndNodes()
546 for (const Edge &E : G.edges()) { in elimMitigatedEdgesAndNodes()
551 for (const Edge &DE : Dest->edges()) in elimMitigatedEdgesAndNodes()
557 // Find and eliminate gadget edges that have been mitigated. in elimMitigatedEdgesAndNodes()
561 if (llvm::none_of(RootN.edges(), MachineGadgetGraph::isGadgetEdge)) in elimMitigatedEdgesAndNodes()
570 for (const Edge &E : N->edges()) { in elimMitigatedEdgesAndNodes()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DDependenceGraphBuilder.cpp25 STATISTIC(TotalDefUseEdges, "Number of def-use edges created.");
26 STATISTIC(TotalMemoryEdges, "Number of memory dependence edges created.");
74 // Note: This algorithm tries to limit the number of edges out of the root in createAndConnectRootNode()
75 // node to some extent, but there may be redundant edges created depending on in createAndConnectRootNode()
78 // not result in minimal number of edges, this approach saves compile-time in createAndConnectRootNode()
79 // while keeping the number of edges in check. in createAndConnectRootNode()
100 // 2. Identify incoming edges incident to the nodes inside of the SCC and in createPiBlocks()
102 // 3. Identify outgoing edges from the nodes inside of the SCC to nodes in createPiBlocks()
103 // outside of it and reconnect them so that the edges are coming out of the in createPiBlocks()
132 // Build a set to speed up the lookup for edges whose targets in createPiBlocks()
[all …]
H A DLazyCallGraph.cpp42 EdgeIndexMap.try_emplace(&TargetN, Edges.size()); in insertEdgeInternal()
43 Edges.emplace_back(TargetN, EK); in insertEdgeInternal()
47 Edges[EdgeIndexMap.find(&TargetN)->second].setKind(EK); in setEdgeKind()
55 Edges[IndexMapI->second] = Edge(); in removeEdgeInternal()
60 static void addEdge(SmallVectorImpl<LazyCallGraph::Edge> &Edges, in addEdge() argument
63 if (!EdgeIndexMap.try_emplace(&N, Edges.size()).second) in addEdge()
67 Edges.emplace_back(LazyCallGraph::Edge(N, EK)); in addEdge()
71 assert(!Edges && "Must not have already populated the edges for this node!"); in populateSlow()
76 Edges = EdgeSequence(); in populateSlow()
82 // Find all the potential call graph edges in this function. We track both in populateSlow()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSampleProfileInference.cpp79 /// where m is the number of edges, n is the number of vertices, and v(f) is the
83 /// The input is a set of edges with specified costs and capacities, and a pair
96 Edges = std::vector<std::vector<Edge>>(NodeCount, std::vector<Edge>()); in initialize()
107 // flow along its edges in run()
114 for (auto &Edge : Edges[Src]) { in run()
131 /// Multiple edges between a pair of nodes are allowed but self-edges
142 SrcEdge.RevEdgeIndex = Edges[Dst].size(); in addEdge()
149 DstEdge.RevEdgeIndex = Edges[Src].size(); in addEdge()
151 Edges[Src].push_back(SrcEdge); in addEdge()
152 Edges[Dst].push_back(DstEdge); in addEdge()
[all …]
H A DCodeLayout.cpp307 for (const auto &[Chain, ChainEdge] : Edges) { in merge()
315 auto It = Edges.begin(); in merge()
316 while (It != Edges.end()) { in merge()
318 Edges.erase(It);
326 Edges.push_back(std::make_pair(Other, Edge));
347 Edges.clear();
348 Edges.shrink_to_fit();
362 // Adjacent chains and corresponding edges (lists of jumps). in appendJump()
363 std::vector<std::pair<ChainT *, ChainEdge *>> Edges;
367 /// When nodes are merged into chains, the edges ar in moveJumps()
338 std::vector<std::pair<ChainT *, ChainEdge *>> Edges; global() member
[all...]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/PBQP/
H A DGraph.h173 EdgeVector Edges; variable
189 EdgeEntry& getEdge(EdgeId EId) { return Edges[EId]; } in getEdge()
190 const EdgeEntry& getEdge(EdgeId EId) const { return Edges[EId]; } in getEdge()
212 Edges[EId] = std::move(E); in addConstructedEdge()
214 EId = Edges.size(); in addConstructedEdge()
215 Edges.push_back(std::move(E)); in addConstructedEdge()
263 : CurEId(CurEId), EndEId(G.Edges.size()), FreeEdgeIds(G.FreeEdgeIds) { in EdgeItr()
306 EdgeItr end() const { return EdgeItr(G.Edges.size(), G); } in end()
308 bool empty() const { return G.Edges.empty(); } in empty()
311 return G.Edges.size() - G.FreeEdgeIds.size(); in size()
[all …]
/freebsd/contrib/llvm-project/llvm/utils/TableGen/GlobalISel/
H A DGIMatchDag.h
H A DGIMatchTree.h
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DSampleProfileLoaderBaseImpl.h271 /// Map edges to their computed weights.
280 /// Set of visited edges during propagation.
701 /// and increment the count of unknown edges.
704 /// \param NumUnknownEdges Current number of unknown edges.
721 /// Propagate weights through incoming/outgoing edges.
726 /// Similarly, if all the edges have a known count, we can calculate the
733 /// \returns True if new weights were assigned to edges or blocks.
738 LLVM_DEBUG(dbgs() << "\nPropagation through edges\n");
743 // Visit all the predecessor and successor edges to determine
754 // First, visit all predecessor edges.
[all …]
H A DBasicBlockUtils.h203 /// *all* edges from TI to the specified successor will be merged into the same
205 /// instructions, which may have many edges to any one destination. This
206 /// ensures that all edges to that dest go to one block instead of each going
211 /// IndirectBrInst. Splitting these edges will almost always create an invalid
243 /// Loop over all of the edges in the CFG, breaking critical edges as they are
244 /// found. Returns the number of broken edges.
339 /// (because it's complicated to handle the case where one of the edges being
361 /// (because it's complicated to handle the case where one of the edges being
379 /// (because it's complicated to handle the case where one of the edges bein
[all...]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/
H A DCFGMST.h42 // Store all the edges in CFG. It may contain some stale edges
92 // 1. we prefer instrumenting those other edges by setting the weight in findBBInfo()
110 // Traverse the CFG using a stack. Find all the edges and assign the weight. in buildEdges()
111 // Edges with large weight will be put into MST first so they are less likely in buildEdges()
165 // Keep track of entry/exit edges: in buildEdges()
195 // if possible. Those exit edges may never have a chance to be in buildEdges()
218 // Sort CFG edges based on its weight. in computeMinimumSpanningTree()
226 // Traverse all the edges and compute the Minimum Weight Spanning Tree in computeMinimumSpanningTree()
230 // This works around the insufficient support of critical edges spli in computeMinimumSpanningTree()
[all...]
/freebsd/contrib/llvm-project/llvm/include/llvm/Support/
H A DCFGDiff.h29 // InverseEdge defines whether we want to change the edges direction. E.g., for
55 // multigraph. Added edges are pruned to be unique, and deleted edges will
56 // remove all existing edges between two blocks.
67 // updates will be applied in reverse: deleted edges are considered re-added
68 // and inserted edges are considered deleted when returning children.
80 OS << DIText[IsInsert] << " edges: \n"; in printMap()
163 "the direction of edges and the graph.)\n"; in print()
/freebsd/contrib/llvm-project/lld/MachO/
H A DExportTrie.cpp12 // representation. The prefixes are stored on the edges of the trie, and one
86 std::vector<Edge> edges; member
138 // Size of the whole node (including the terminalSize and the outgoing edges.) in updateOffset()
150 // Compute size of all child edges. in updateOffset()
152 for (const Edge &edge : edges) { in updateOffset()
181 assert(edges.size() < 256); in writeTo()
182 *buf++ = edges.size(); in writeTo()
184 for (const Edge &edge : edges) { in writeTo()
248 node->edges.emplace_back(pivotSymbol->getName().slice(lastPos, pos), in sortAndBuild()
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DEdgeBundles.h1 //===-------- EdgeBundles.h - Bundles of CFG edges --------------*- c++ -*-===//
9 // The EdgeBundles analysis forms equivalence classes of CFG edges such that all
10 // edges leaving a machine basic block are in the same bundle, and all edges
/freebsd/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/
H A DEHFrameSupport.h27 /// Identify CFI record type and edges based on number and order of edges
32 /// Zero or one outgoing edges: Record is CIE. If present, edge points to
35 /// Two or three outgoing edges: Record is an FDE. First edge points to CIE,
38 /// It is illegal to call this function on a block with four or more edges.
H A Dx86_64.h150 /// for the PC (unlike the Delta edges) so that a Branch32PCRel with a target
168 /// for the PC (unlike the Delta edges) so that a PCRel32 with a target
195 /// identifies the call/branch as being to a pointer jump stub. For edges of
233 /// Edges of this kind are usually handled by a GOT builder pass inserted by
240 /// - *ASSERTION* Failure to handle edges of this kind prior to the fixup
253 /// Edges of this kind are usually handled by a GOT builder pass inserted by
260 /// - *ASSERTION* Failure to handle edges of this kind prior to the fixup
275 /// Edges of this kind are usually handled by a GOT builder pass inserted by
282 /// - *ASSERTION* Failure to handle edges of this kind prior to the fixup
324 /// Edges of this kind are usually lowered by a GOT builder pass inserted by
[all …]
/freebsd/sys/sys/
H A Dlockf.h79 struct lockf_edge_list lf_outedges; /* (s) list of out-edges */
80 struct lockf_edge_list lf_inedges; /* (s) list of in-edges */
97 * will have in-coming edges to any pending lock which it blocks.
101 * requests in this list will have out-going edges to each active lock
102 * that blocks then. They will also have out-going edges to each
/freebsd/crypto/openssl/providers/implementations/ciphers/
H A Dcipher_aes_cbc_hmac_sha1_hw.c128 HASH_DESC hash_d[8], edges[8]; in tls1_multi_block_encrypt() local
213 edges[i].ptr = blocks[i].c; in tls1_multi_block_encrypt()
214 edges[i].blocks = 1; in tls1_multi_block_encrypt()
218 sha1_multi_block(mctx, edges, n4x); in tls1_multi_block_encrypt()
231 edges[i].ptr = hash_d[i].ptr; in tls1_multi_block_encrypt()
232 edges[i].blocks = MAXCHUNKSIZE / 64; in tls1_multi_block_encrypt()
236 sha1_multi_block(mctx, edges, n4x); in tls1_multi_block_encrypt()
240 edges[i].ptr = hash_d[i].ptr += MAXCHUNKSIZE; in tls1_multi_block_encrypt()
242 edges[i].blocks = MAXCHUNKSIZE / 64; in tls1_multi_block_encrypt()
273 edges[i].blocks = 1; in tls1_multi_block_encrypt()
[all …]

12345678910>>...21