reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
86 class RootDDGNode : public DDGNode { 101 class SimpleDDGNode : public DDGNode {
24 class DDGNode;
31 explicit DGEdge(NodeType &N) : TargetNode(N) {} 32 explicit DGEdge(const DGEdge<NodeType, EdgeType> &E) 34 DGEdge<NodeType, EdgeType> &operator=(const DGEdge<NodeType, EdgeType> &E) { 34 DGEdge<NodeType, EdgeType> &operator=(const DGEdge<NodeType, EdgeType> &E) { 45 const NodeType &getTargetNode() const { return TargetNode; } 46 NodeType &getTargetNode() { 62 NodeType &TargetNode; 77 explicit DGNode(const DGNode<NodeType, EdgeType> &N) : Edges(N.Edges) {} 78 DGNode(DGNode<NodeType, EdgeType> &&N) : Edges(std::move(N.Edges)) {} 80 DGNode<NodeType, EdgeType> &operator=(const DGNode<NodeType, EdgeType> &N) { 80 DGNode<NodeType, EdgeType> &operator=(const DGNode<NodeType, EdgeType> &N) { 84 DGNode<NodeType, EdgeType> &operator=(const DGNode<NodeType, EdgeType> &&N) { 84 DGNode<NodeType, EdgeType> &operator=(const DGNode<NodeType, EdgeType> &&N) { 91 bool operator==(const NodeType &N) const { return getDerived().isEqualTo(N); } 92 bool operator!=(const NodeType &N) const { return !operator==(N); } 107 bool findEdgesTo(const NodeType &N, SmallVectorImpl<EdgeType *> &EL) const { 123 bool hasEdgeTo(const NodeType &N) const { 139 bool isEqualTo(const NodeType &N) const { return this == &N; } 142 NodeType &getDerived() { return *static_cast<NodeType *>(this); } 143 const NodeType &getDerived() const { 149 const_iterator findEdgeTo(const NodeType &N) const { 165 using NodeListTy = SmallVector<NodeType *, 10>; 170 using DGraphType = DirectedGraph<NodeType, EdgeType>; 173 explicit DirectedGraph(NodeType &N) : Nodes() { addNode(N); } 189 const NodeType &front() const { return *Nodes.front(); } 190 NodeType &front() { return *Nodes.front(); } 191 const NodeType &back() const { return *Nodes.back(); } 192 NodeType &back() { return *Nodes.back(); } 197 const_iterator findNode(const NodeType &N) const { 201 iterator findNode(const NodeType &N) { 207 bool addNode(NodeType &N) { 216 bool findIncomingEdgesToNode(const NodeType &N, SmallVectorImpl<EdgeType*> &EL) const { 219 for (auto *Node : Nodes) { 233 bool removeNode(NodeType &N) { 239 for (auto *Node : Nodes) { 255 bool connect(NodeType &Src, NodeType &Dst, EdgeType &E) { 255 bool connect(NodeType &Src, NodeType &Dst, EdgeType &E) {include/llvm/Analysis/DDG.h
26 using DDGNodeBase = DGNode<DDGNode, DDGEdge>; 27 using DDGEdgeBase = DGEdge<DDGNode, DDGEdge>; 28 using DDGBase = DirectedGraph<DDGNode, DDGEdge>; 51 DDGNode(const DDGNode &N) : DDGNodeBase(N), Kind(N.Kind) {} 52 DDGNode(DDGNode &&N) : DDGNodeBase(std::move(N)), Kind(N.Kind) {} 55 DDGNode &operator=(const DDGNode &N) { 55 DDGNode &operator=(const DDGNode &N) { 61 DDGNode &operator=(DDGNode &&N) { 61 DDGNode &operator=(DDGNode &&N) { 86 class RootDDGNode : public DDGNode { 94 static bool classof(const DDGNode *N) { 101 class SimpleDDGNode : public DDGNode { 136 static bool classof(const DDGNode *N) { 168 explicit DDGEdge(DDGNode &N) = delete; 169 DDGEdge(DDGNode &N, EdgeKind K) : DDGEdgeBase(N), Kind(K) {} 219 NodeType &getRoot() const { 236 NodeType *Root = nullptr; 239 using DDGInfo = DependenceGraphInfo<DDGNode>; 246 using NodeType = DDGNode; 275 DDGNode &createRootNode() final override { 281 DDGNode &createFineGrainedNode(Instruction &I) final override { 287 DDGEdge &createDefUseEdge(DDGNode &Src, DDGNode &Tgt) final override { 287 DDGEdge &createDefUseEdge(DDGNode &Src, DDGNode &Tgt) final override { 293 DDGEdge &createMemoryEdge(DDGNode &Src, DDGNode &Tgt) final override { 293 DDGEdge &createMemoryEdge(DDGNode &Src, DDGNode &Tgt) final override { 299 DDGEdge &createRootedEdge(DDGNode &Src, DDGNode &Tgt) final override { 299 DDGEdge &createRootedEdge(DDGNode &Src, DDGNode &Tgt) final override { 309 raw_ostream &operator<<(raw_ostream &OS, const DDGNode &N); 310 raw_ostream &operator<<(raw_ostream &OS, const DDGNode::NodeKind K); 347 using NodeRef = DDGNode *; 349 static DDGNode *DDGGetTargetNode(DGEdge<DDGNode, DDGEdge> *P) { 349 static DDGNode *DDGGetTargetNode(DGEdge<DDGNode, DDGEdge> *P) { 356 mapped_iterator<DDGNode::iterator, decltype(&DDGGetTargetNode)>; 357 using ChildEdgeIteratorType = DDGNode::iterator; 374 struct GraphTraits<DataDependenceGraph *> : public GraphTraits<DDGNode *> { 387 using NodeRef = const DDGNode *; 389 static const DDGNode *DDGGetTargetNode(const DGEdge<DDGNode, DDGEdge> *P) { 389 static const DDGNode *DDGGetTargetNode(const DGEdge<DDGNode, DDGEdge> *P) { 396 mapped_iterator<DDGNode::const_iterator, decltype(&DDGGetTargetNode)>; 397 using ChildEdgeIteratorType = DDGNode::const_iterator; 415 : public GraphTraits<const DDGNode *> {include/llvm/Support/Casting.h
34 using SimpleType = From; // The real type this represents... 37 static SimpleType &getSimplifiedValue(From &Val) { return Val; } 41 using NonConstSimpleType = typename simplify_type<From>::SimpleType; 47 static RetType getSimplifiedValue(const From& Val) { 57 static inline bool doit(const From &Val) { 76 static inline bool doit(const From &Val) { 77 return isa_impl<To, From>::doit(Val); 104 static inline bool doit(const From *Val) { 106 return isa_impl<To, From>::doit(*Val); 141 template <class X, class Y> LLVM_NODISCARD inline bool isa(const Y &Val) { 142 return isa_impl_wrap<X, const Y, 143 typename simplify_type<const Y>::SimpleType>::doit(Val); 236 std::is_same<X, typename simplify_type<X>::SimpleType>::value; 236 std::is_same<X, typename simplify_type<X>::SimpleType>::value;include/llvm/Support/PointerLikeTypeTraits.h
56 static inline void *getAsVoidPointer(T *P) { return P; } 57 static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); } 59 enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value }; 91 typedef PointerLikeTypeTraits<T *> NonConst; 93 static inline const void *getAsVoidPointer(const T *P) { 96 static inline const T *getFromVoidPointer(const void *P) {include/llvm/Support/type_traits.h
55 struct add_const_past_pointer { using type = const T; };
lib/Analysis/DDG.cpp40 raw_ostream &llvm::operator<<(raw_ostream &OS, const DDGNode::NodeKind K) { 43 case DDGNode::NodeKind::SingleInstruction: 46 case DDGNode::NodeKind::MultiInstruction: 49 case DDGNode::NodeKind::Root: 52 case DDGNode::NodeKind::Unknown: 60 raw_ostream &llvm::operator<<(raw_ostream &OS, const DDGNode &N) { 155 for (auto *N : Nodes) { 162 bool DataDependenceGraph::addNode(DDGNode &N) { 179 for (auto *Node : G)lib/Analysis/DependenceGraphBuilder.cpp
43 auto &NewNode = createFineGrainedNode(I); 66 auto &RootNode = createRootNode(); 68 for (auto *N : Graph) {usr/include/c++/7.4.0/bits/move.h
98 move(_Tp&& __t) noexcept
usr/include/c++/7.4.0/type_traits381 : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type 1554 { typedef _Tp type; }; 1558 { typedef _Tp type; }; 1563 { typedef _Tp type; }; 1574 remove_const<typename remove_volatile<_Tp>::type>::type type; 1633 { typedef _Tp type; }; 1983 { typedef _Up type; };