HomeSort by: relevance | last modified time | path
    Searched refs:Edge (Results 1 - 25 of 72) sorted by relevancy

1 2 3

  /src/external/apache2/llvm/dist/llvm/include/llvm/ExecutionEngine/JITLink/
MachO_arm64.h 23 enum MachOARM64RelocationKind : Edge::Kind {
24 Branch26 = Edge::FirstRelocation,
63 /// Return the string name of the given MachO arm64 edge kind.
64 const char *getMachOARM64RelocationKindName(Edge::Kind R);
ELF_x86_64.h 22 enum ELFX86RelocationKind : Edge::Kind {
23 Branch32 = Edge::FirstRelocation,
63 /// Return the string name of the given ELF x86-64 edge kind.
64 const char *getELFX86RelocationKindName(Edge::Kind R);
x86_64.h 1 //===-- x86_64.h - Generic JITLink x86-64 edge kinds, utilities -*- C++ -*-===//
24 /// Represents x86-64 fixups and other x86-64-specific edge kinds.
25 enum EdgeKind_x86_64 : Edge::Kind {
32 Pointer64 = Edge::FirstRelocation,
120 /// This edge kind has the same fixup expression as BranchPCRel32, but further
137 /// The edge kind has the same fixup expression as BranchPCRel32ToPtrJumpStub,
153 /// Indicates that this edge should be transformed into a Delta32 targeting
154 /// the GOT entry for the edge's current target, maintaining the same addend.
188 /// Indicates that this edge should be transformed into a
189 /// PC32ToGOTLoadRelaxable targeting the GOT entry for the edge's curren
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/ExecutionEngine/JITLink/
EHFrameSupportImpl.h 44 Edge::Kind Delta64, Edge::Kind Delta32,
45 Edge::Kind NegDelta32);
67 EdgeTarget(const Edge &E) : Target(&E.getTarget()), Addend(E.getAddend()) {}
70 Edge::AddendT Addend = 0;
73 using BlockEdgeMap = DenseMap<Edge::OffsetT, EdgeTarget>;
105 Expected<std::pair<JITTargetAddress, Edge::Kind>>
114 Edge::Kind Delta64;
115 Edge::Kind Delta32;
116 Edge::Kind NegDelta32
    [all...]
x86_64.cpp 1 //===----- x86_64.cpp - Generic JITLink x86-64 edge kinds, utilities ------===//
21 const char *getEdgeKindName(Edge::Kind K) {
52 return getGenericEdgeKindName(static_cast<Edge::Kind>(K));
JITLink.cpp 60 const char *getGenericEdgeKindName(Edge::Kind K) {
62 case Edge::Invalid:
64 case Edge::KeepAlive:
67 return "<Unrecognized edge kind>";
115 void printEdge(raw_ostream &OS, const Block &B, const Edge &E,
117 OS << "edge@" << formatv("{0:x16}", B.getAddress() + E.getOffset()) << ": "
180 // Handle edge transfer/update.
280 std::vector<Edge> SortedEdges;
282 llvm::sort(SortedEdges, [](const Edge &LHS, const Edge &RHS)
    [all...]
MachO_x86_64.cpp 116 using PairRelocInfo = std::tuple<Edge::Kind, Symbol *, uint64_t>;
119 // returns the edge kind and addend to be used.
178 Edge::Kind DeltaKind;
278 Edge::Kind Kind = Edge::Invalid;
383 // edge kind to be used (either Delta32/Delta64, or
402 Edge GE(Kind, FixupAddress - BlockToFix->getAddress(), *TargetSymbol,
424 bool isGOTEdgeToFix(Edge &E) const {
434 void fixGOTEdge(Edge &E, Symbol &GOTEntry) {
435 // Fix the edge kind
    [all...]
MachO_arm64.cpp 100 // returns the edge kind and addend to be used.
102 parsePairRelocation(Block &BlockToFix, Edge::Kind SubtractorKind,
373 // edge kind to be used (either Delta32/Delta64, or
392 Edge GE(*Kind, FixupAddress - BlockToFix->getAddress(), *TargetSymbol,
415 bool isGOTEdgeToFix(Edge &E) const {
428 void fixGOTEdge(Edge &E, Symbol &GOTEntry) {
430 // Update the target, but leave the edge addend as-is.
436 llvm_unreachable("Not a GOT edge?");
439 bool isExternalBranchEdge(Edge &E) {
452 void fixPLTEdge(Edge &E, Symbol &Stub)
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/
MachineDominators.cpp 101 for (CriticalEdge &Edge : CriticalEdgesToSplit) {
103 MachineBasicBlock *Succ = Edge.ToBB;
107 if (PredBB == Edge.NewBB)
123 "critical edge split has more "
137 for (CriticalEdge &Edge : CriticalEdgesToSplit) {
139 MachineDomTreeNode *NewDTNode = DT->addNewBlock(Edge.NewBB, Edge.FromBB);
145 DT->changeImmediateDominator(DT->getNode(Edge.ToBB), NewDTNode);
  /src/external/apache2/llvm/dist/llvm/lib/LTO/
SummaryBasedOptimizations.cpp 53 auto GetCallSiteRelFreq = [](FunctionSummary::EdgeTy &Edge) {
54 return Scaled64(Edge.second.RelBlockFreq, -CalleeInfo::ScaleShift);
76 auto GetProfileCount = [&](ValueInfo V, FunctionSummary::EdgeTy &Edge) {
77 auto RelFreq = GetCallSiteRelFreq(Edge);
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Instrumentation/
MaximumSpanningTree.h 29 typedef std::pair<const T*, const T*> Edge;
30 typedef std::pair<Edge, double> EdgeWeight;
33 typedef std::vector<Edge> MaxSpanTree;
49 // Equal edge weights: break ties by comparing block sizes.
78 Edge e = (*EWi).first;
87 Edge e = (*EWi).first;
91 // So we know now that the edge is not already in a subtree, so we push
92 // the edge to the MST.
CFGMST.h 39 template <class Edge, class BBInfo> class CFGMST {
45 std::vector<std::unique_ptr<Edge>> AllEdges;
101 LLVM_DEBUG(dbgs() << "Build Edge on " << F.getName() << "\n");
108 Edge *EntryIncoming = nullptr, *EntryOutgoing = nullptr,
112 // Add a fake edge to the entry.
114 LLVM_DEBUG(dbgs() << " Edge: from fake node to " << Entry->getName()
147 LLVM_DEBUG(dbgs() << " Edge: from " << BB.getName() << " to "
168 Edge *ExitO = &addEdge(&BB, nullptr, BBWeight);
173 LLVM_DEBUG(dbgs() << " Edge: from " << BB.getName() << " to fake exit"
178 // Entry/exit edge adjustment heurisitic
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/X86/
ImmutableGraph.h 16 /// implemented as a bit vector, wherein each bit corresponds to one edge in
17 /// the edge array. This implies a lower bound of 64x spatial improvement
47 class Edge {
62 const Edge *Edges;
68 const Edge *edges_begin() const { return Edges; }
73 const Edge *edges_end() const { return (this + 1)->Edges; }
74 ArrayRef<Edge> edges() const {
80 ImmutableGraph(std::unique_ptr<Node[]> Nodes, std::unique_ptr<Edge[]> Edges,
94 ArrayRef<Edge> edges() const { return makeArrayRef(Edges.get(), EdgesSize); }
95 const Edge *edges_begin() const { return edges().begin();
    [all...]
X86LoadValueInjectionLoadHardening.cpp 32 /// 4. Insert one LFENCE along each CFG edge that was cut in step 3.
121 using Edge = typename GraphT::Edge;
124 std::unique_ptr<Edge[]> Edges, size_type NodesSize,
128 static inline bool isCFGEdge(const Edge &E) {
131 static inline bool isGadgetEdge(const Edge &E) {
152 using Edge = MachineGadgetGraph::Edge;
462 // Add the gadget edge to the graph.
548 for (const Edge &E : G.edges())
    [all...]
  /src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/
DDGPrinter.h 53 /// Print attributes of an edge in the DDG graph. If the edge
54 /// is a MemoryDependence edge, then detailed dependence info
75 /// Print a DDG edge in concise form.
77 const DDGEdge *Edge,
80 /// Print a DDG edge with more information including detailed information
83 const DDGEdge *Edge,
LazyCallGraph.h 27 /// potential-call-edge graph.
71 /// by an edge in the graph, do not invalidate a bottom-up traversal of the SCC
72 /// DAG. That is, no optimizations will delete, remove, or add an edge such
86 /// an indirect call edge. Another way to think about it is that it represents
89 /// of a function to be an edge in the call graph because this might be
98 /// form even a potential call edge from a function body which may dynamically
131 /// node. This allows the edge structure itself to be a very compact data
133 class Edge {
135 /// The kind of edge in the graph.
138 Edge();
    [all...]
BranchProbabilityInfo.h 47 /// probabilities of each "edge" in the function's CFG where such an edge is
49 /// probability of an edge from one block is always relative to the
53 /// identify an edge, since we can have multiple edges from Src to Dst.
147 /// Get an edge's probability, relative to other out-edges of the Src.
150 /// (0%) and one (100%) of this edge executing, relative to other edges
165 /// Test if an edge is hot relative to other out-edges of the Src.
167 /// Check whether this edge out of the source block is 'hot'. We define hot
177 /// Print an edge's probability.
179 /// Retrieves an edge's probability similarly to \see getEdgeProbability, bu
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Analysis/
DDGPrinter.cpp 130 const DDGNode *Src, const DDGEdge *Edge, const DataDependenceGraph *G) {
133 DDGEdge::EdgeKind Kind = Edge->getKind();
139 const DDGNode *Src, const DDGEdge *Edge, const DataDependenceGraph *G) {
142 DDGEdge::EdgeKind Kind = Edge->getKind();
145 OS << G->getDependenceString(*Src, Edge->getTargetNode());
LazyCallGraph.cpp 44 Edge::Kind EK) {
49 void LazyCallGraph::EdgeSequence::setEdgeKind(Node &TargetN, Edge::Kind EK) {
58 Edges[IndexMapI->second] = Edge();
63 static void addEdge(SmallVectorImpl<LazyCallGraph::Edge> &Edges,
65 LazyCallGraph::Node &N, LazyCallGraph::Edge::Kind EK) {
70 Edges.emplace_back(LazyCallGraph::Edge(N, EK));
92 // edge. Even if the function's definition is subject to replacement by
100 // safety of optimizing a direct call edge.
109 LazyCallGraph::Edge::Call);
123 LazyCallGraph::Edge::Ref)
    [all...]
BranchProbabilityInfo.cpp 95 // Probability of the edge BB2->BB1 = 124 / (124 + 4) = 0.96875
96 // Probability of the edge BB2->BB3 = 4 / (124 + 4) = 0.03125
252 bool BranchProbabilityInfo::isLoopEnteringEdge(const LoopEdge &Edge) const {
253 const auto &SrcBlock = Edge.first;
254 const auto &DstBlock = Edge.second;
262 bool BranchProbabilityInfo::isLoopExitingEdge(const LoopEdge &Edge) const {
263 return isLoopEnteringEdge({Edge.second, Edge.first});
267 const LoopEdge &Edge) const {
268 return isLoopEnteringEdge(Edge) || isLoopExitingEdge(Edge)
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/IPO/
SyntheticCountsPropagation.cpp 106 // Edge includes information about the source. Hence ignore the first
109 const CallGraphNode::CallRecord &Edge) {
111 if (!Edge.first)
113 CallBase &CB = *cast<CallBase>(*Edge.first);
  /src/external/apache2/llvm/dist/llvm/lib/Support/
SuffixTree.cpp 42 unsigned StartIdx, unsigned Edge) {
48 Parent.Children[Edge] = N;
55 unsigned EndIdx, unsigned Edge) {
65 Parent->Children[Edge] = N;
  /src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Utils/
SampleProfileLoaderBaseImpl.h 100 using Edge = std::pair<const BasicBlockT *, const BasicBlockT *>;
101 using EdgeWeightMap = DenseMap<Edge, uint64_t>;
124 void printEdgeWeight(raw_ostream &OS, Edge E);
134 uint64_t visitEdge(Edge E, unsigned *NumUnknownEdges, Edge *UnknownEdge);
152 /// Edge weights are computed by propagating basic block weights in
160 SmallSet<Edge, 32> VisitedEdges;
217 /// Print the weight of edge \p E on stream \p OS.
220 /// \param E Edge to print.
222 void SampleProfileLoaderBaseImpl<BT>::printEdgeWeight(raw_ostream &OS, Edge E)
    [all...]
  /src/external/apache2/llvm/dist/llvm/include/llvm/Support/
SuffixTree.h 85 /// The length of the string formed by concatenating the edge labels from the
194 /// \param Edge The label on the edge leaving \p Parent to this node.
198 unsigned Edge);
205 /// \param Edge The label on the edge leaving \p Parent to this node.
209 unsigned EndIdx, unsigned Edge);
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/
LoopPeel.cpp 132 // Given %x = phi <Inputs from above the loop>, ..., [%y, %back.edge].
153 // Otherwise we need to analyze the input from the back edge.
421 /// Let F is a weight of the edge from latch to header.
422 /// Let E is a weight of the edge from latch to exit.
435 /// \param[in,out] FallThroughWeight The weight of the edge from latch to
459 /// \param[out] ExitWeight The weight of the edge from Latch to Exit.
460 /// \param[out] FallThroughWeight The weight of the edge from Latch to Header.
476 /// \param ExitWeight The weight of the edge from Latch to Exit.
477 /// \param FallThroughWeight The weight of the edge from Latch to Header.
568 // The original exiting edge is still hooked up to the loop exit
    [all...]

Completed in 82 milliseconds

1 2 3