| /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...] |